Bug tracker avec auth, base de données, Dockerization etc...
En tant qu'utilisateur je veux pouvoir:
- créer un compte
- me connecter
- voir mes tickets
- créer un ticket
- modifier mes tickets
- supprimer mes tickets
- voir mon profile utilisateur
- Frontend next pour UI/UX
- Backend node gestion des utilisateurs / tickets
-
fork / clone
-
dans le terminal (racine projet):
```bash # pour lancer les conteneurs (sudo) docker-compose up --build -d # pour arrêter les conteneurs (sudo) docker compose down # pour entrer dans un conteneur (si besoin) (sudo) docker exec -it <nom du conteneur> sh ```
frontend next: port 3000; backend node: port 8000
-
Au démarrage, ou aprés avoir lancer les tests (
npm run test-all
), la base de données est vide.Pour créer un compte : cliquer sur s'inscrire et remplir le formulaire.
Pour utiliser le compte invité : remplir le formulaire avec: nom "invité", email "invite@mail.com", mot de passe "invite"
vous pourrez ensuite vous connecter et creer, modifier, supprimer vos tickets
-
base de données utilisable pour le dev dans conteneurs (montée dans le dossier ./db pour persistance et accèssibillité):
mongodb: localhost:27017 admin usernames et passwords pour les tests locaux uniquement cf. docker-compose.yml - image mongo officielle
-
Tests/lint/format:
npm run test-all
dans frontend ou backend: eslint, prettier, type-check et tests unitaires (pour les commandes spécifiques: voir package.json)- TODO: pre-commit hooks et Taskfile général (root folder)
-
TODO: scripts de population / génération de données pour les db dev
Normalement, tout est bon. si questions, n'hésitez pas.
- docker
- github actions
- CI/CD
- google cloud
- vercel
- mongo atlas
- react/next
- typescript
- tailwind css
- node
- express
- mongoose
- mongodb
- typescript
- créer le repo
- créer le readme avec explications du projet
- créer le docker-compose / containers pour chaque partie de l'app
- mettre en place intégration continue (gh actions: lint/format/test on push/pull; peut-être pre-hooks commits ? pas décider encore...)
- connecter les bases de données (mongodb): local pour dev
- déploiement continue
- connecter les bases de données de prod projet google cloud ( mongo atlas )
Frontend:
- Page Accueil
- pages auth: login page, Register page, formulaires, axios...
- tests unitaires: pages accueil, login, register...
- composants gestion des tickets: ajouter, modifier, supprimer
- gestion des redirects et expiration tokens
- ... cf. Readme front
Backend:
- tests unitaires
- auth et user models
- ticket models
- routes et controllers
- [] e2e tests (TODO)
- ... cf. Readme back