A full-stack to-do application built with React, Node.js, Express, and MongoDB. This application allows users to create, read, update, and delete to-do items with a clean and responsive user interface.
- Add new to-do items
- Mark items as complete/incomplete
- Delete items
- Responsive design
- Real-time updates
- Clean and modern UI with Material-UI
- Node.js (v14 or later)
- npm or yarn
- MongoDB (local or cloud instance)
-
Navigate to the server directory:
cd server -
Install dependencies:
npm install
-
Start the MongoDB service (if not already running):
# On macOS (using Homebrew) brew services start mongodb-community -
Start the backend server:
npm start
The server will start on
http://localhost:5000
-
Open a new terminal and navigate to the client directory:
cd client -
Install dependencies:
npm install
-
Start the development server:
npm start
The application will open in your default browser at
http://localhost:3000
todo-app/
├── client/ # Frontend React application
│ ├── public/ # Static files
│ └── src/ # React components and styles
│ ├── App.js # Main application component
│ └── index.js # Entry point
└── server/ # Backend Node.js/Express server
├── node_modules/ # Dependencies
├── server.js # Main server file
└── package.json # Backend dependencies and scripts
npm start- Start the development servernpm test- Run testsnpm run build- Build the app for production
npm start- Start the servernpm run dev- Start the server with nodemon for development
- React
- Material-UI
- Axios
- React Icons
- Express
- Mongoose
- CORS
- Dotenv
This project is open source and available under the MIT License.