Järjestelmäarkkitehtuuri & HR-alusta
Ravintola- ja hotellialalle (CHR) erikoistunut rekrytointialusta, joka on kehitetty Symfonylla. Se yhdistää roolipohjaisen turvallisuusmallin (RBAC) asiantuntijoiden suorittamalla kaksivaiheisella validoinnilla, asynkronisen AJAX-hakukoneen KnpPaginatorilla sekä dokumentoidut REST API -rajapinnat.
┌─────────────────────────────────────────────────────────────────────────────┐
│ TRT Conseil — Architecture RH & Recrutement │
└──────────────────────────────────────┬──────────────────────────────────────┘
│
┌───────────────────────────┼───────────────────────────┐
▼ ▼ ▼
🛡️ Sécurité & Modération RBAC 🔍 Moteur de Recherche AJAX 📡 API REST Headless
• Double validation (TOVALID)• Filter.js sans rechargement• JMS Serializer Groups
• 4 Rôles isolés (Admin/RH) • KnpPaginator (6/page) • Endpoints paginés (/api)
• Upload sécurisé de CV PDF • Synchronisation URL HTML5 • Support mobile & tiers
• Envoi CV par Symfony Mailer• Requête optimisée Doctrine • Documentation JSON
Inhimillistä arvoa korostava rekrytointi
Jokainen käyttäjätili, työpaikkailmoitus ja työhakemus tarkastetaan ja hyväksytään HR-konsultin toimesta ennen yhteyden muodostamista.
Tietoturva & Roolihierarkia
Tiukka 4-tasoinen roolijärjestelmä väliaikaisella TOVALID-tilalla, joka estää luvattomat julkaisut.
Automaattinen ansioluetteloiden lähetys
Hakemuksen luominen ja automaattinen lähetys Symfony Mailerilla PDF-ansioluetteloliitteen kera hyväksymishetkellä.
1. Turvallisuusmalli & Roolien hallinta (RBAC)
Käyttöoikeushierarkia Symfonyn Security-komponentilla ja pakollisella asiantuntijahyväksynnällä:
| Järjestelmärooli |
Tila |
Oikeudet & Toiminnot |
ROLE_ADMIN |
Pääkäyttäjä |
Ylläpitäjien ja konsulttien tilien luonti, muokkaus, sulkeminen ja poisto. |
ROLE_CONSULTANT |
HR-moderaattori |
Hakijoiden ja yritysten hyväksyntä, ilmoitusten julkaisu ja CV:iden välitys työnantajille. |
ROLE_RECRUTEUR |
Työnantaja |
Yritysprofiilin hallinta, työpaikkojen julkaisu ja esikarsittujen hakijoiden vastaanotto. |
ROLE_CANDIDAT |
Työnhakija |
PDF-ansioluettelon suojattu lataus, haku ja hakeminen hyväksyttyihin työpaikkoihin. |
2. Työnkulut & Hakemusten käsittely
Strukturoidut prosessit rekrytoinnin jokaisen vaiheen varmentamiseksi:
Hakijaprosessi & PDF-ansioluetteloiden hallinta
Turvallinen PDF-tiedostojen lataus transliterator_transliterate()-käsittelyllä ja tilan seuranta reaaliajassa.
PDF Uploadtransliteratortovalid
Konsulttiprosessi & Automaattiset ilmoitukset
Odotustilassa olevien hakemusten tarkastus ja sähköpostin automaattilähetys liitetiedostoineen hyväksynnän yhteydessä.
Symfony MailerDataPartPièce jointe CV
3. Asynkroninen AJAX-hakukone
JavaScript Filter.js -moduuli yhdistettynä KnpPaginatoriin ja Doctrine QueryBuilderiin hakuja varten ilman sivunlatausta:
// Requête QueryBuilder optimisée dans AnnonceRepository.php
private function getSearchQuery(SearchData $search): QueryBuilder
{
$query = $this->createQueryBuilder('p')
->select('c', 'p')
->join('p.poste', 'c')
->orderBy('p.id', 'DESC');
if (!empty($search->q)) {
$query->andWhere('p.titre LIKE :q')
->setParameter('q', "%{$search->q}%");
}
if (!empty($search->poste)) {
$query->andWhere('c.id IN (:poste)')
->setParameter('poste', $search->poste);
}
return $query;
}
- Reaaliaikaiset tapahtumankuuntelijat: Tekstinsyötön ja tehtäväsuodattimien välitön tunnistus osittaisella DOM-päivityksellä.
- Optimoitu KnpPaginator-sivutus: Tiedonsiirron rajoittaminen 6 kohteeseen sivua kohden palvelimen muistikuorman säästämiseksi.
- HTML5-selaushistoria (replaceState): Osoiterivin dynaaminen päivitys suodatettujen hakulinkkien jakamisen mahdollistamiseksi.
4. Headless REST API -määritykset
Dokumentoidut JSON-rajapinnat serialisoituna JMS Serializerilla:
| Method |
Endpoint URL |
JMS-ryhmä |
Rajapinnan kuvaus |
| GET |
/api/annonces |
getAnnonces |
Kaikkien hyväksyttyjen työpaikkailmoitusten täysi lista JSON-muodossa |
| GET |
/api/annoncesby?page={n} |
getAnnonces |
Sivutettu työpaikkalistaus sivutustiedoilla |
| GET |
/api/annonce/{id} |
getAnnonces |
Yksittäisen työpaikkailmoituksen täydet tiedot ID:llä |
| GET |
/api/annoncesby/{poste} |
getAnnonces |
Työpaikkailmoitusten suodatus ja sivutus ammattinimikkeen mukaan |
5. Tietomalli & ORM-relaatiot
Normalisoitu MySQL-tietokantarakenne Doctrin viite-eheydellä:
Käyttäjä- & Profiilientiteetit
User yksilöllisellä sähköpostilla, Candidat PDF-polulla ja Recruteur yritystiedoilla.
Työpaikat & Tehtäväluokittelu
Poste sisältäen 28 ravintola-alan ammattia ja Annonce sopimustyypeillä ja palkoilla.
Candidature-hakemusentiteetti
Liitostaulu, joka yhdistää kohteet Annonce, Candidat ja validoivan Consultant-käyttäjän.