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.