A modern, full-stack todo application built with React, TypeScript, Node.js, and MongoDB.
- Create, read, update, and delete todos
- Dark/Light mode toggle
- Responsive design for all devices
- Real-time updates
- Mark todos as complete/incomplete
- Toast notifications for actions
- Modern UI with Tailwind CSS
- React
- TypeScript
- Tailwind CSS
- Axios
- Vite
- Node.js
- Express
- MongoDB
- Mongoose
- TypeScript
- Node.js (v14 or higher)
- MongoDB Atlas account
- npm or yarn
- Clone the repository
git clone https://github.com/phonethantzaw/todo-manager.git
cd todo-manager- Install dependencies for both frontend and backend
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install- Set up environment variables
Create a
.envfile in the backend directory with the following:
MONGODB_USER=your_mongodb_username
MONGODB_PASSWORD=your_mongodb_password
PORT=5001- Start the backend server
cd backend
npm run dev- Start the frontend development server
cd frontend
npm run dev- (Optional) Seed the database with sample todos
cd backend
npm run seedThe application will be available at:
- Frontend: http://localhost:5173
- Backend: http://localhost:5001
GET /api/todos- Get all todosPOST /api/todos- Create a new todoPUT /api/todos/:id- Update a todoDELETE /api/todos/:id- Delete a todo
todo-test/
├── backend/
│ ├── src/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── scripts/
│ │ └── server.ts
│ └── package.json
└── frontend/
├── src/
│ ├── components/
│ ├── services/
│ ├── types/
│ └── App.tsx
└── package.json
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.