JOYN — Organization & scheduling app
I engineered a full-stack scheduling and organization application using the MERN stack, featuring user authentication, a responsive React frontend, and fully containerized deployment with Docker.
View on GitHubTechnology Stack
The challenge
Coordinating schedules and organizing group activities often requires juggling multiple tools like calendars, messaging apps, and shared documents. I wanted to build a unified solution that combined scheduling, organization, and user management into a single, cohesive application while learning the full MERN stack end to end.
Building the stack
The backend runs on Node.js with Express, handling API requests and routing. MongoDB Atlas provides the NoSQL database layer, and I implemented fully functional user authentication so each user has a secure, personalized experience. The API follows RESTful conventions with proper error handling and input validation throughout.
On the frontend, I built a responsive interface with React.js and Vite for rapid development and hot module replacement. The component architecture keeps the UI modular and maintainable, with clean separation between presentational and container components.
Containerized deployment
The entire application is fully containerized using Docker and Docker Compose. Each service, including the React frontend, the Express API, and the MongoDB instance, runs in its own container, making the development environment reproducible and deployment consistent. A single docker-compose up command spins up the full stack locally, mirroring production behavior.
Key Features
- Fully functional user authentication via MongoDB Atlas with secure session management
- RESTful API built with Node.js and Express, featuring proper error handling and input validation
- Responsive frontend built with React.js and Vite for rapid development and hot module replacement
- Integrated AI chatbot assistant to help users organize and manage their schedules
- Intelligent data parsing that analyzes user needs and generates optimized weekly schedules
- Fully containerized with Docker and Docker Compose for consistent development and deployment
About This Project
JOYN was a milestone project that solidified my understanding of full-stack JavaScript development. I learned how to wire together authentication flows end to end, structure a REST API for maintainability, and containerize a multi-service application with Docker. The project also reinforced the value of designing APIs and database schemas before writing frontend code because getting the data model right early saved significant refactoring time later. Building the AI chatbot and schedule parsing features pushed me to think about how to connect intelligent backend logic with a clean, intuitive frontend experience.