Files
html/generated/api-20260411-210238
2026-04-17 00:57:15 +02:00
..

Projet API REST Projets

Présentation

Cette API REST est conçue pour gérer des projets, leur gestion inclut la création, la lecture, la mise à jour et la suppression (CRUD) de projets. Elle utilise la technologie JWT pour l'authentification et la validation des requêtes. Les ressources sont divisées en plusieurs sections : gestion des utilisateurs, gestion des projets, gestion des tâches et des sous-tâches.

Table des matières

  1. Prérequis
  2. Installation
  3. Configuration
  4. API Endpoints
  5. Schema DB
  6. Usage
  7. Screenshots
  8. Rate Limiting
  9. License
  10. Auteur

Prérequis

  • PHP 8.5
  • PostgreSQL 14
  • composer
  • cli

Installation

  1. Téléchargez le code avec Git : git clone https://github.com/WEVCODE/projets-api.git
  2. Allez dans le dossier du projet : cd projets-api
  3. Installez les dépendances avec Composer : composer install
  4. Configurez votre fichier .env pour l'utilisation avec PostgreSQL
  5. Créez la base de données : php artisan migrate

Configuration

  1. Configurez votre fichier .env pour l'utilisation avec PostgreSQL
  2. Configurez la clé d'API secrète de JWT dans l'application

API Endpoints

Utilisateurs

  • POST /users/: Crée un nouvel utilisateur
  • GET /users/: Récupère tous les utilisateurs
  • GET /users/{id}/: Récupère un utilisateur par son ID
  • PUT /users/{id}/: Met à jour un utilisateur
  • DELETE /users/{id}/: Supprime un utilisateur

Projets

  • POST /projects/: Crée un nouveau projet
  • GET /projects/: Récupère tous les projets
  • GET /projects/{id}/: Récupère un projet par son ID
  • PUT /projects/{id}/: Met à jour un projet
  • DELETE /projects/{id}/: Supprime un projet

Tâches

  • POST /tasks/: Crée une nouvelle tâche
  • GET /tasks/: Récupère toutes les tâches
  • GET /tasks/{id}/: Récupère une tâche par son ID
  • PUT /tasks/{id}/: Met à jour une tâche
  • DELETE /tasks/{id}/: Supprime une tâche

Sous-tâches

  • POST /subtasks/: Crée une nouvelle sous-tâche
  • GET /subtasks/: Récupère toutes les sous-tâches
  • GET /subtasks/{id}/: Récupère une sous-tâche par son ID
  • PUT /subtasks/{id}/: Met à jour une sous-tâche
  • DELETE /subtasks/{id}/: Supprime une sous-tâche

Schema DB

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL
);

CREATE TABLE projects (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    user_id INTEGER NOT NULL REFERENCES users(id)
);

CREATE TABLE tasks (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    project_id INTEGER NOT NULL REFERENCES projects(id)
);

CREATE TABLE subtasks (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    task_id INTEGER NOT NULL REFERENCES tasks(id)
);

Usage

  1. Regardez la documentation pour comprendre comment utiliser chaque endpoint
  2. Utilisez POSTMAN ou cURL pour envoyer des requêtes

Screenshots

(Placez vos screenshots ici)

Rate Limiting

Cette API utilse la bibliothèque limonade pour appliquer un rate limiting. Veuillez consulter la documentation pour configurer les options.

License

Cette API est sous licence MIT.

Auteur

  • WEVCODE

Contributions

Les contributions sont acceptées. Alors partagez le code !