Le contexte
Dans le cadre d'un projet d'école, nous avons créé une application et un site web pour expérimenter les enjeux de la communication en temps réel. Le backend utilise Golang, un language intéressant pour gérer la concurrence propre à ce type de projet. Le frontend a été créé sur l'application avec React Native et en version Desktop sur React JS.
Découvrez quelques articles sur les enjeux de ce projet:
Mes réalisations :
- Frontend avec React JS (Desktop):
- J'ai créé un système de connexion avec des rôles : administrateur et utilisateurs
- J'ai mis en place un CRUD afin de gérer les données des utilisateurs
- J'ai des mis en place une gestion transversale des données avec le state manager Zustand et des hooks
- Avec un collègue nous avons créé les appels de l' API en Golang via l' API native de JavaScript "Fetch"
- Frontend avec React Native (Application):
- Sur cette partie j'ai créer certains appels API et j'ai créer des interfaces pour itérer sur les salles de chat
- Backend en Golang:
- Avec un collègue j'ai créé le middlware et les routes API avec la librairie chi router
- Points de complexité : nous devions gérer plusieurs salles de chat.
- J'ai aidé à créer les websockets en utilisant la librairie gorilla websocket
- Developper Experience (DX) et Mise en production:
- J'ai configuré Docker pour travailler avec Golang et le front en React JS avec un hot reloading fonctionnel
- J'ai facilité la vie de mes collègues en créant des commandes simple via un makefile.
- J' ai aussi utilisé Docker pour mettre en production en utilisant "Render" pour l' API et "Vercel" pour le frontend
