A modern todo application built with the MERN stack (MongoDB, Express, React, and Node.js) that allows users to efficiently manage their tasks with a clean, intuitive interface.
-
Task Management
- Create new tasks with a modern modal interface
- Mark tasks as complete/incomplete with visual feedback
- Delete tasks with a single click
- View all tasks in a responsive layout
-
User Interface
- Clean, minimalist design
- Smooth animations and transitions
- Responsive layout that works on mobile and desktop
- Dark theme with custom color scheme
-
Technical Features
- Real-time updates with MongoDB
- RESTful API architecture
- Error handling and loading states
- Environment-based configuration
- React 18.3.1
- Modern CSS3 with CSS Variables
- Custom animations and transitions
- Mobile-first responsive design
- Node.js 18+
- Express 4.21.2
- MongoDB 8.9.5
- Mongoose ODM
- CORS for cross-origin requests
- Morgan for request logging
- Clone the repository
git clone https://github.com/maro14/todolist.git
cd todolist
- Install dependencies
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install
- Set up environment variables
# In backend directory, create .env file
MONGODB=your_mongodb_connection_string
- Start the application
# Start backend server (from backend directory)
npm run dev
# Start frontend development server (from frontend directory)
npm start
GET /todo/all
- Retrieve all todosPOST /todo/add
- Create a new todoGET /todo/complete/:id
- Toggle todo completion statusDELETE /todo/delete/:id
- Remove a todoPUT /todo/update/:id
- Update a todo's content
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the ISC License.