Technologies and Tools Used
For the front-end, I chose React due to its rich ecosystem and performance. The application state was managed with Redux Toolkit, and for styling I used Tailwind CSS.
- Frontend: React, Redux Toolkit, Axios, Tailwind CSS
- Backend: Node.js, Express.js, MongoDB with Mongoose
- Authentication: JWT (JSON Web Tokens)
- Deployment: Vercel (frontend) and Render (backend)
Challenges and Solutions
One of the major challenges was the real-time synchronization of the application state between multiple users. I implemented WebSockets for this functionality, which significantly increased interactivity.
Data security was a priority. I validated all inputs on the server and used environment variables to protect API keys and the database connection.