A simple To-Do list application built with Django REST Framework (backend) and React (frontend). Users can create, update, view, and delete tasks.
Backend
- Django 5.x
- Django REST Framework
- SQLite (default database)
Frontend
- React 18+ with TypeScript
- Vite (build tool)
- Axios for API calls
- Python 3.8+
- Node.js 16+
- npm or yarn
- TypeScript knowledge (helpful)
- Clone the repository and navigate to the backend directory:
git clone <repository-url>
cd ToDo-App-Fullstack/backend- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run migrations:
python manage.py makemigrations
python manage.py migrate- Start the Django development server:
python manage.py runserverThe backend API will be available at http://localhost:8000
- Navigate to the frontend directory:
cd ToDo-App-Fullstack/frontend- Install dependencies:
npm install- Start the React development server:
npm run devThe frontend will be available at http://localhost:5173 (Vite default port)
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tasks/ |
Get all tasks |
| POST | /api/tasks/ |
Create a new task |
| GET | /api/tasks/{id}/ |
Get a specific task |
| PUT | /api/tasks/{id}/ |
Update a task |
| DELETE | /api/tasks/{id}/ |
Delete a task |
- Update settings.py and API in App.tsx to use local database and debug settings
- Current configuration is set for Render deployment
- Start both backend and frontend servers
- Open your browser and go to
http://localhost:5173 - Add, edit, complete, or delete tasks as needed