A modern, full-stack task management application designed to help users organize their daily activities effectively. The project is split into a React-based frontend and a Node.js/Express backend using MongoDB.
- User Authentication: Secure registration and login flows using JWT (JSON Web Tokens) and bcrypt.
- Task Management: Full CRUD operations for tasks (Create, Read, Update, Delete).
- Responsive Design: Custom UI with elegant styles, ensuring a seamless experience across desktop and mobile devices.
- Protected Routes: Frontend routing ensures that only authenticated users can access their dashboard and tasks.
The repository is structured as a monorepo containing both the frontend and backend:
/frontend: The React user interface built with Vite./backend: The Express Node.js application and API using MongoDB.
- Frontend: React 19, Vite, React Router DOM, Axios, TailwindCSS (configured for styling).
- Backend: Node.js, Express.js, MongoDB (Mongoose), JWT, BcryptJS.
- Node.js (v18+ recommended)
- MongoDB instance (Local or Atlas)
Ensure you have MongoDB running locally on mongodb://127.0.0.1:27017 or configure your cloud database connection string. Create a .env file in the backend directory based on its configuration needs (e.g., MONGO_URI and JWT_SECRET).
Navigate to the backend directory, install dependencies, and start the development server:
cd backend
npm install
npm run devThe backend server typically runs on http://localhost:5000.
Open a new terminal window, navigate to the frontend directory, install dependencies, and start the Vite development server:
cd frontend
npm install
npm run devThe application will be accessible at http://localhost:5173.
Contributions, issues, and feature requests are welcome!
This project is open-source and available under the MIT License.