Skip to content

A Django REST Framework (DRF) based backend for managing projects and tasks with user authentication.

Notifications You must be signed in to change notification settings

Sparrowfish/taskmanagerapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Manager API

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).


Project Description

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.


Features

  • User authentication (register, login, logout)
  • Create and manage projects
  • Add, assign, and track tasks
  • RESTful API endpoints for integration

Tech Stack

  • Python 3
  • Django
  • Django REST Framework
  • Python Decouple (for environment variables)
  • SQLite (default, can be swapped with PostgreSQL)
  • Django CORS headers (for frontend integration)

Project Structure

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


Installation & Setup

  1. Clone the repo
    git clone https://github.com/your-username/taskmanagerapi.git
    cd taskmanagerapi
  2. Create virtual environment python -m venv venv

    Activate:

    venv\Scripts\activate # Windows source venv/bin/activate # Mac/Linux
  3. Install dependencies pip install -r requirements.txt
  4. Set up environment variables cp .env.example .env

    Edit .env with your own values

  5. Run the server python manage.py runserver

API Endpoints

Users

  • POST /api/users/register/
  • POST /api/users/login/
  • GET /api/users/profile/

Projects

  • GET /api/projects/
  • POST /api/projects/
  • GET /api/projects/int:pk/
  • PUT /api/projects/int:pk/
  • DELETE /api/projects/int:pk/

Tasks

  • GET /api/tasks/
  • POST /api/tasks/
  • GET /api/tasks/int:pk/
  • PUT /api/tasks/int:pk/
  • DELETE /api/tasks/int:pk/

Testing

To run tests, use the following command: python manage.py test


Future Improvements

  • Add project collaborators

  • Task deadlines and status tracking

  • Email notifications

About

A Django REST Framework (DRF) based backend for managing projects and tasks with user authentication.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages