MealMate
A Real-World Project Built from a Real-Life Need!
About This Project
As a Computer Science and Engineering student living away from home, I encountered a real-life problem that inspired me to create my website, MealMate. I live with five other roommates, and one day, one of them asked if there was a way to automate the calculation of our meal or food expenses. That moment sparked the idea for MealMate—a solution to help small groups manage shared meal costs more efficiently. With my knowledge of React.js, Node.js, and Express.js, I decided to build the application myself. React's component-based architecture allowed me to structure and manage the frontend efficiently, although I did face some rendering issues during development. For the backend, I created a REST API using Express.js and used MongoDB (NoSQL) as the database. I handled database operations using the Mongoose library. For user authentication, I implemented JWT (JSON Web Tokens) and Passport.js. While I made several mistakes along the way, the project was a great learning experience. It took me around two months to fully develop both the frontend and backend. Personally, I found that frontend state and UI management was more challenging compared to backend development. I deployed the frontend on Vercel, which is well-suited for React applications. However, I found Vercel less optimal for backend services like Express.js, so I deployed the backend on Render. Render works well for Express.js but has a limitation—it puts the server to sleep after 15 minutes of inactivity to save costs. Fortunately, the server responds normally after the first request.
Gallery










