A Django-based task management application with REST API endpoints for managing tasks. The application supports user authentication and provides both public and authenticated access to task data.
- User authentication with Basic Authentication
- CRUD operations for tasks
- Public and authenticated access to task data
- Swagger documentation for API endpoints
- Dockerized for easy deployment
-
Clone the repository:
git clone https://github.com/zaid-zubi/Task-Manager cd task_manager
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Apply the migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
-
Access the admin dashboard:
http://127.0.0.1:8000/admin/
-
Clone the repository:
git clone https://github.com/zaid-zubi/Task-Manager cd task_manager
-
Build and run the Docker containers:
docker-compose up --build
-
Apply the migrations:
docker-compose exec web python manage.py migrate
-
Create a superuser:
docker-compose exec web python manage.py createsuperuser
-
Access the application at
http://127.0.0.1:8000/
. -
Access the admin dashboard:
http://127.0.0.1:8000/admin/
GET /api/tasks/
- Retrieve a list of tasks (Authenticated users only)GET /api/tasks/{id}/
- Retrieve a single task (Public access)POST /api/tasks/
- Create a new task (Authenticated users only)PUT /api/tasks/{id}/
- Update an existing task (Authenticated users only)DELETE /api/tasks/{id}/
- Delete a task (Authenticated users only)
- Access the admin panel at
http://127.0.0.1:8000/admin/
to manage users and tasks. - Use the provided API endpoints to interact with the task data.
- Access the Swagger documentation at
http://127.0.0.1:8000/swagger/
for detailed API documentation.