Skip to content

elzinko/my-resume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

202 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MY RESUME

checkly

CV personnel en Next.js et Tailwind CSS. Les contenus vivent dans 4 fichiers sous data/cv/ : profile.json (identité/contact), tech-catalog.json (dictionnaire techno), experience.json (missions/études/projets par ids) et locales/{fr,en}.json (textes localisés). L'app les compose au runtime via lib/cv-compose.ts. Le catalogue de matching (ids + tokens texte) est dérivé des mêmes fichiers côté serveur (lib/match-catalog-from-bundle.ts), sans artefact JSON séparé.

Démarrage

Créer un .env si besoin (ex. déploiement statique) :

STATIC_DEPLOYMENT=true

Lancer le serveur de dev :

npm run dev

Ouvrir http://localhost:3000.

Build production :

npm run build

CV personnalisé par annonce (URL dynamique + LLM)

  • Paramètres lisibles : /{lang}?company=…&requirement=Libellé:mots&contract=cdi
  • JSON compact base64 : /{lang}?spec=…
  • Type de contrat : ?contract=cdi adapte les textes profil/domaines pour un poste permanent ; freelance par défaut.
  • Mode enseignement : ?mode=teaching bascule sur la variante CV enseignement (profil/domaines reformulés, missions d'enseignement et proposition de module Product Builder visibles, lien Malt masqué). Voir letters/ pour les lettres associées.
  • Présentation (écran et PDF) : ?detail=full|summary|minimal (densité des expériences — full par défaut), ?photo=0 (masque la photo, affichée par défaut), ?age=0 (masque l'âge, affiché par défaut sous le rôle).
  • Liste complète des paramètres d'URL : voir docs/cv-rendering-rules.md §8 — dont ?print, ?ats=1, ?entriesLayout=inline|stacked, ?headerAlign=right, ?subtitle(_fr|_en), ?edu=1, ?maxJobShown=N, ?job=<slug> (répétable).
  • Guide LLM dynamique : GET /api/llm-guide — markdown auto-généré, point d'entrée recommandé pour les agents LLM. Liste tous les endpoints publics (/api/profile, /api/openapi.yaml, /{lang}), le catalogue de technos complet et des exemples d'URLs.

Plafonds (longueurs, nombre d’exigences) : lib/dynamic-offer-spec.ts, lib/query-offer-params.ts. URLs limitées à ~2k caractères par le navigateur ; au-delà, préférer spec base64.

Encodage CLI : npm run encode-offer-spec -- path/to/offer.json

Liens utiles

Ressource Chemin / URL
Données CV (structure) data/cv/profile.json, tech-catalog.json, experience.json
Textes localisés (FR/EN) data/cv/locales/fr.json, data/cv/locales/en.json
Spec OpenAPI (API profile) data/api/openapi.yamlGET /api/openapi.yaml
API profile (JSON) GET /api/profile?lang=fr|en — snapshot complet du profil + catalogue techno. Voir spec OpenAPI ci-dessus.
Types offre (interfaces TS) data/offers/types.ts
Guide LLM GET /api/llm-guide
Storybook maison (dev) http://localhost:3000/{lang}/dev/components
Storybook (local) http://localhost:6006 (npm run storybook)
Rendus PDF / screenshots renders/ -- renders/index.html

Releases

Packages

Used by

Contributors

Languages