This is a full-stack To-Do application built with a modern tech stack. The application allows users to manage their tasks efficiently.
- User authentication (login/logout)
- Create, read, update, and delete (CRUD) tasks
- Mark tasks as complete/incomplete
- Pagination for task lists
- React
- Next.js
- TypeScript
- Tailwind CSS
- Django
- Django REST framework
- PostgreSQL
- Node.js
- npm or yarn
- Python
- PostgreSQL
-
Clone the repository:
git clone https://github.com/karar-hayder/Full-Stack-To-Do-App.git cd todo-app
-
Install frontend dependencies:
cd frontend npm install
-
Install backend dependencies:
cd ../backend pip install -r requirements.txt
-
Create .env file in the backend directory and add the following environment variables:
SECRET_KEY=your_secret_key DEBUG=True DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1 DJANGO_CORS_ALLOWED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
-
Create .env file in the frontend directory and add the following environment variables:
DJANGO_PUBLIC_API_URL="http://localhost:8000/api/v1/"
-
Run database migrations:
python manage.py migrate
-
Start the backend server:
python manage.py runserver
-
Start the frontend development server:
cd ../frontend npm run dev
- Open your browser and navigate to
http://localhost:3000
to access the frontend. - Use the application to manage your tasks.
todo-app/
├── backend/
│ ├── manage.py
│ ├── backend/
│ ├── core/
│ └── ...
├── frontend/
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── ...
└── README.md
Contributions are welcome! Please open an issue or submit a pull request for any changes.
This project is licensed under the MIT License.
For any inquiries, please contact [kararhaider.pro@gmail.com].