Ce projet est une application NestJS qui gère des tâches avec une API CRUD. Elle utilise SQLite comme base de données. Le projet possède deux branches :
main
: Expose une API CRUD pour les tâches.with-auth
: Ajoute des fonctionnalités d'authentification, y compris l'inscription, la connexion, la mise à jour du profil, et nécessite une authentification pour effectuer les opérations CRUD sur les tâches.
- Node.js (>=14.x)
- npm (>=6.x)
- SQLite
- Installation
npm install
- Assurez-vous que SQLite est installé.
- Configurez le fichier config/config.json avec les paramètres appropriés.
npx sequelize-cli db:migrate
- Démarrez le serveur NestJS :
npm run start
-
Le serveur devrait maintenant être en cours d'exécution à
http://localhost:3000
. -
Le projet utilise Swagger pour la documentation de l'API. Après avoir démarré le serveur, vous pouvez accéder à la documentation de l'API à
http://localhost:3000/api-docs
La branche main
expose une API CRUD pour les tâches. Vous pouvez utiliser cette branche pour gérer les tâches sans authentification.
La branche with-auth
inclut des fonctionnalités d'authentification. Elle ajoute les points de terminaison suivants :
/auths/register
/auths/login
/auths/profils
Elle nécessite également une authentification pour les opérations CRUD sur les tâches.
Pour passer à la branche with-auth, utilisez :
git checkout with-auth
- Les données d'une tache
class Task {
// identifiant de la tache
id?: number;
// nom de la tache
title: string;
// description de la tache
content: string;
// priorité de la tache
priority: string;
// couleur de la tache
color: string;
// date de création de la tache
createdAt: Date;
// date de modification de la tache
updatedAt: Date;
// date de la tache
dueDate: Date;
}
- Les données à renseigner pour la création d'une tache
class CreateTaskDto {
// nom de la tache
// requise
title: string;
// description de la tache
// requise
content: string;
// priorité de la tache
// requise
priority: string;
// couleur de la tache
// requise
color: string;
// date de la tache
// non requise
dueDate: Date;
}
- Les données à renseigner pour la mise à jour d'une tache
class UpdateTaskDto {
// nom de la tache
// non requise
title: string;
// description de la tache
// non requise
content: string;
// priorité de la tache
// non requise
priority: string;
// couleur de la tache
// non requise
color: string;
// date de la tache
// non requise
dueDate: Date;
}