MaeRiz

LC-MDF-skillmatch

0
0
# Install this skill:
npx skills add MaeRiz/LC-MDF-skillmatch

Or install specific skill: npx add-skill https://github.com/MaeRiz/LC-MDF-skillmatch

# README.md

SkillMatch

SkillMatch est une API Rest développée avec Express / TypeScript permettant de mettre en relation des freelances et des entreprises autour de projets, en fonction des compétences et du TJM.


📌 Prérequis

Avant de lancer le projet, assure-toi d'avoir installé :

  • Node.js ≥ 18.x
  • npm ≥ 9.x

📦 Modules installés

  • express
  • dotenv
  • @prisma/client
  • typescript
  • nodemon
  • ts-node-dev
  • prisma

⚙️ Installation du projet

  1. Cloner le dépôt
git clone https://github.com/MaeRiz/LC-MDF-skillmatch.git
cd skillmatch
  1. Installer les dépendances
npm install
  1. Créer un fichier .env
DATABASE_URL="postgresql://user:password@localhost:5432/skillmatch"

🗄️ Base de données (Prisma)

Lancer PostgreSql (conteneur)

docker compose up

Générer le client Prisma

npx prisma generate

Appliquer les migrations

npx prisma deploy

▶️ Lancer le serveur

npm start

Le serveur sera accessible à l’adresse :

http://localhost:8000

📡 Endpoints API

Freelances

➕ Créer un freelance
POST /freelances
{
    "nom": "Johnatan Bayer",
    "email": "[email protected]",
    "skills": ["Python", "React", "Postman", "Angular"],
    "tjm": 130
}
📄 Lister tous les freelances
GET /freelances
🖲️ Lister tous les freelances filtrer avec une compétence
GET /freelances?skill=react
🔍 Récupérer un freelance par ID
GET /freelances/{id}
🤝 Trouver des projets disponible pour un freelance
GET /freelances/{id}/projets-compatibles
📩 Postuler à un projet
POST /freelances/{freelanceId}/postuler/{projectId}

Entreprises

➕ Créer une entreprise
POST /entreprises
{
    "nom": "Microsoft",
    "secteur": "IT"
}
📄 Lister toutes les entreprises
GET /entreprises
🔍 Récupérer une entreprise par ID
GET /entreprises/{id}

Projets

➕ Créer un projet pour une entreprise
POST /entreprises/{entrepriseId}/projets
{
    "titre": "SoftTunes",
    "description": "Application opensource pour écouter de la musique gratuitement.",
    "skillsRequis": ["Python", "React", "Postman"],
    "budgetMaxTjm": 125,
    "entrepriseId": 1
}
📄 Lister les projets d’une entreprise
GET /entreprises/{entrepriseId}/projets
🎯 Lister les candidats compatibles pour un projet
GET /entreprises/{entrepriseId}/projets/{projectId}/candidats-compatibles
🔓 Lister tous les projets ouverts (sans freelance)
GET /projets/ouvert

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.