Il s'agit d'un projet de conception d'API personnel pour partager des connaissances sur le dev avec d'autres personnes.
L'idée est de pouvoir enregistrer et soumettre de nouveaux sujets dans l'API dev-talk et échanger sur les sujets a travers un serveur vocal Discord.
NodeJS | Redis | MongoDB | Docker |
---|
- Configurer le fichier docker-compose.
- Configuer le fichier Dockerfile pour build
- Configurer le fichier
.dockerignore
pour optimiser les perfs de build
- Utiliser les JWT pour l'authentification.
- Envoi d'un email pour reset le mot de passe.
- Utiliser
Joi
pour faire de la validation de data. - Créer une fonction permettant de mettre en cache dynamiquement.
- Générer une doc avec Swagger.
Voir les issues en cours pour voir la liste complete des fonctionalités proposées et les bugs existants.
- Clonez ce repo
$ git clone https://github.com/jerome-karabenli/dev-talk-API.git && cd dev-talk-API
- Lancer la commande suivante
$ docker-compose up -d
- La documentation de l'API se trouve sur la route /api-docs
- Utilisez cette commande pour ne monter que les base de données.
$ docker-compose up -d redis mongodb
- Rendez vous dans le dossier
node_app
et tapez
$ npm start
# ou
$ yarn start
MONGODB_URI=mongodb://demo:demo@localhost:27017/devtalk
ACCES_TOKEN_SECRET=demo
NODE_ENV=developpement
DOMAIN_NAME=demo-devtalk.jkarabenli.dev
API_URL_PREFIX=/api/v1
PORT=3000
REDIS_URI=redis://localhost:6379
API_DOCS_SERVER=https://demo-devtalk.jkarabenli.dev
Les contributions sont ce qui fait de la communauté open source un endroit incroyable pour apprendre, s'inspirer et créer. Toutes les contributions que vous apportez serront grandement appréciées.
Si vous avez une suggestion qui améliorerait le projet, vous pouvez fork
le repo et créer une pull request
. Vous pouvez aussi simplement ouvrir une issue
avec le tag "enhancement".
N'oubliez pas de mettre une étoile au projet ! Merci encore!
- Fork le projet
- Créez votre branche (
git checkout -b feature/AmazingFeature
) - Commit vos changements (
git commit -m 'Add some AmazingFeature'
) - Push sur votre branche (
git push origin feature/AmazingFeature
) - Ouvrir une Pull Request
Lien de mon blog: jkarabenli.dev
Lien du projet: Github