The context
As part of a school project, we created an application and a website to experiment with the challenges of real-time communication.
Discover some articles on what is at stake in this project :
What I learn :
- Frontend with React JS (Desktop):
- I created a login system with roles: administrator and users
- I set up a CRUD to manage user data
- I have implemented transversal data management with the Zustand state manager and hooks
- With a colleague we created the API calls in Golang via the native JavaScript API "Fetch"
- Frontend with React Native (Application):
- On this part I created certain API calls and I created interfaces to iterate on the chat rooms
- Backend in Golang:
- With a colleague I created the middlware and the API routes with the chi router library
- Points of complexity: we had to manage several chat rooms.
- I helped create the websockets using the gorilla websocket library
- Developer Experience (DX) and Production Release:
- I configured Docker to work with Golang and the front in React JS with functional hot reloading
- I made my colleagues' lives easier by creating simple commands via a makefile.
- I also used Docker to put into production using "Render" for the API and "Vercel" for the frontend
