From 8bd17dc973a216e98864439ab9aba456e0bc5694 Mon Sep 17 00:00:00 2001 From: LuckMeelo Date: Mon, 4 Aug 2025 14:47:22 +0200 Subject: [PATCH] chores: code format using prettier and edited README.md Refs: #1 --- README.md | 194 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 127 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index 8f0f65f..96c0ca4 100644 --- a/README.md +++ b/README.md @@ -1,98 +1,158 @@ -

- Nest Logo -

+# P'titsPas API Backend ✨ -[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 -[circleci-url]: https://circleci.com/gh/nestjs/nest +Ce dépôt contient le code source de l'API backend pour la plateforme **P'titsPas**. L'API est construite avec NestJS et est responsable de toute la logique métier, de la gestion des données et de l'authentification des utilisateurs. -

A progressive Node.js framework for building efficient and scalable server-side applications.

-

-NPM Version -Package License -NPM Downloads -CircleCI -Discord -Backers on Open Collective -Sponsors on Open Collective - Donate us - Support us - Follow us on Twitter -

- +--- -## Description +## 📚 Table des matières -[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. +- [Technologies utilisées](#-technologies-utilisées) +- [Prérequis](#-prérequis) +- [Installation](#-installation) +- [Lancement de l'application](#-lancement-de-lapplication) +- [Scripts principaux](#-scripts-principaux) +- [Tests](#-tests) +- [Gestion des migrations](#-gestion-des-migrations) +- [Documentation de l'API](#-documentation-de-lapi) -## Project setup +--- + +## 🛠️ Technologies utilisées + +- **Framework**: [NestJS](https://nestjs.com/) (TypeScript) +- **Base de données**: [PostgreSQL](https://www.postgresql.org/) +- **ORM**: [TypeORM](https://typeorm.io/) +- **Authentification**: JWT avec [Passport.js](http://www.passportjs.org/) +- **Stockage Fichiers**: [MinIO](https://min.io/) (Compatible S3) +- **Tâches Asynchrones**: [Redis](https://redis.io/) avec [BullMQ](https://bullmq.io/) +- **Conteneurisation**: [Docker](https://www.docker.com/) + +--- + +## 📋 Prérequis + +Avant de commencer, assurez-vous d'avoir installé les outils suivants sur votre machine : + +- [Node.js](https://nodejs.org/) (v18 ou supérieure) +- [npm](https://www.npmjs.com/) ou [pnpm](https://pnpm.io/) +- [Docker](https://www.docker.com/products/docker-desktop/) et Docker Compose +- [Git](https://git-scm.com/) + +--- + +## 🚀 Installation + +1. **Clonez le dépôt :** + + ```bash + git clone https://github.com/votre-username/ptitspas-backend.git + cd ptitspas-backend + ``` + +2. **Créez le fichier d'environnement :** + Copiez le fichier d'exemple `.env.example` et renommez-le en `.env`. Ce fichier est ignoré par Git et contiendra vos secrets locaux. + + ```bash + cp .env.example .env + ``` + + ➡️ **Important :** Ouvrez le fichier `.env` et remplissez les variables (identifiants de la base de données, secrets JWT, etc.). + +3. **Installez les dépendances du projet :** + ```bash + npm install + ``` + +--- + +## ▶️ Lancement de l'application + +### Méthode recommandée : avec Docker + +Cette méthode lance l'ensemble des services nécessaires (API, base de données, MinIO, Redis) dans des conteneurs isolés. ```bash -$ npm install +docker-compose up --build ``` -## Compile and run the project +L'API sera accessible à l'adresse `http://localhost:3000` (ou le port que vous avez configuré dans votre `.env`). -```bash -# development -$ npm run start +### Méthode locale (pour le développement) -# watch mode -$ npm run start:dev +Cette méthode ne lance que le serveur NestJS. Assurez-vous que les autres services (PostgreSQL, Redis, etc.) sont déjà en cours d'exécution (par exemple, via Docker). -# production mode -$ npm run start:prod +``` +npm run start:dev ``` -## Run tests +Le serveur redémarrera automatiquement à chaque modification de fichier. -```bash -# unit tests -$ npm run test +--- -# e2e tests -$ npm run test:e2e +## ⚙️ Scripts principaux -# test coverage -$ npm run test:cov -``` +| Commande | Description | +| :------------------ | :-------------------------------------------------------------------- | +| `npm run start:dev` | Lance le serveur en mode développement avec rechargement automatique. | +| `npm run build` | Compile le projet TypeScript en JavaScript. | +| `npm start` | Lance l'application depuis les fichiers compilés (mode production). | +| `npm run lint` | Analyse le code pour détecter les erreurs de style et de syntaxe. | -## Deployment +--- -When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. +## 🧪 Tests -If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: +Pour lancer les tests, utilisez les commandes suivantes : -```bash -$ npm install -g @nestjs/mau -$ mau deploy -``` +| Commande | Description | +| :----------------- | :--------------------------------------------------------------- | +| `npm test` | Lance les tests unitaires. | +| `npm run test:e2e` | Lance les tests de bout en bout (end-to-end). | +| `npm run test:cov` | Lance tous les tests et génère un rapport de couverture de code. | -With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. +--- -## Resources +## 🗄️ Gestion des migrations -Check out a few resources that may come in handy when working with NestJS: +La structure de la base de données est gérée par des fichiers de migration TypeORM. -- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. -- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). -- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). -- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. -- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). -- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). -- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). -- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com). +1. **Générer une nouvelle migration :** + Après avoir modifié une entité TypeORM, générez automatiquement le fichier de migration correspondant. -## Support + ```bash + npm run migration:generate -- src/database/migrations/NomDeLaMigration + ``` -Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). +2. **Appliquer les migrations :** + Pour mettre à jour le schéma de votre base de données avec les nouvelles migrations. + ```bash + npm run migration:run + ``` -## Stay in touch +--- -- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec) -- Website - [https://nestjs.com](https://nestjs.com/) -- Twitter - [@nestframework](https://twitter.com/nestframework) +## 📖 Documentation de l'API -## License +Une fois l'application lancée, la documentation de l'API générée avec **Swagger (OpenAPI)** est disponible à l'adresse suivante : -Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE). +➡️ **[http://localhost:3000/api-docs](http://localhost:3000/api-docs)** + +Cette interface vous permet d'explorer et de tester toutes les routes de l'API directement depuis votre navigateur. + +Excellente idée. C'est un élément crucial qui définit les droits et les devoirs liés à votre code. + +En me basant sur la section `10.5 Propriété intellectuelle et licence de l’application` de votre cahier des charges, j'ai rédigé une section "Licence" qui reflète précisément le statut propriétaire de votre projet. + +Voici le `README.md` complet et mis à jour. + +--- + +## 📜 Licence + +Ce projet est distribué sous une **licence propriétaire**. + +Le code source, la marque "P'titsPas" et la documentation associée sont la propriété exclusive de l'éditeur, Julien MARTIN. + +Toute reproduction, distribution, modification ou utilisation du code source est strictement interdite sans un accord écrit préalable de l'auteur. Les clients et partenaires autorisés disposent d'une licence d'utilisation non-exclusive et non-transférable, conformément aux termes de leur contrat. + +Pour toute question relative à l'utilisation ou à l'acquisition d'une licence, veuillez contacter l'auteur.