A task management API built with Django and Django REST Framework (DRF).
This project is designed as a backend service to manage users, projects, and tasks, and it can be integrated with any frontend (e.g., React).
The project includes three main apps:
- Users – Handles user registration, authentication, and profiles.
- Projects – Allows users to create and manage projects.
- Tasks – Provides task creation, assignment, and status tracking within projects.
The API is designed to be consumed by a frontend or any client that supports RESTful communication.
- User authentication (register, login, logout)
- Create and manage projects
- Add, assign, and track tasks
- RESTful API endpoints for integration
- Python 3
- Django
- Django REST Framework
- Python Decouple (for environment variables)
- SQLite (default, can be swapped with PostgreSQL)
- Django CORS headers (for frontend integration)
taskmanagerapi/ │── manage.py │── requirements.txt │── .env │── .gitignore │── users/ # User registration, login, JWT auth │── projects/ # Projects model, CRUD │── tasks/ # Tasks model, CRUD, linked to projects │── taskmanagerapi/ └── settings.py
- Clone the repo
git clone https://github.com/your-username/taskmanagerapi.git cd taskmanagerapi
- Create virtual environment python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # Mac/Linux
- Install dependencies pip install -r requirements.txt
- Set up environment variables cp .env.example .env
- Run the server python manage.py runserver
- POST /api/users/register/
- POST /api/users/login/
- GET /api/users/profile/
- GET /api/projects/
- POST /api/projects/
- GET /api/projects/int:pk/
- PUT /api/projects/int:pk/
- DELETE /api/projects/int:pk/
- GET /api/tasks/
- POST /api/tasks/
- GET /api/tasks/int:pk/
- PUT /api/tasks/int:pk/
- DELETE /api/tasks/int:pk/
To run tests, use the following command: python manage.py test
-
Add project collaborators
-
Task deadlines and status tracking
-
Email notifications