A simple full-stack ToDo application to manage tasks.
This project demonstrates frontend-backend integration, REST APIs, and JSON-based storage — perfect for a portfolio showcase.
- Add, delete, and mark tasks as completed
- Persistent storage using a JSON file
- Interactive frontend built with HTML, CSS, and JavaScript
- Backend REST API built with Node.js and Express
- CORS enabled for frontend-backend communication
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js, Express
- Database: JSON file (
data.json) - Utilities: CORS, UUID
- ToDo-App/
- backend/
- server.js : Express server handling API requests
- data.json : Stores the ToDo items
- frontend/
- index.html : Main frontend page
- scripts.js : Frontend JavaScript (fetches API)
- styles.css : CSS styling
- package.json : Project metadata & dependencies
- package-lock.json : NPM lockfile
- README.md : Project documentation
- LICENSE : MIT License
- backend/
- Install Node.js from https://nodejs.org/
- Open terminal and go to the project folder. For example, if your folder is on Desktop:
cd ~/Desktop/ToDo-App - Install project dependencies by running:
npm install - Start the backend server:
node backend/server.js - Open
frontend/index.htmlin your browser. The frontend will communicate with the backend at http://localhost:3000
frontend/scripts.jsinteracts with the backend API:- GET /todos → Fetch all tasks
- POST /todos → Add a new task
- PUT /todos/:id → Toggle task completion
- DELETE /todos/:id → Delete a task
- Backend (
server.js) updatesdata.jsonfor persistent storage.
Ajay Jothiraj – GitHub Profile
This project is licensed under the MIT License – see the LICENSE file for details.