Skip to content

A project tracker app which allows user to create projects, add project boards, create task types. Also allowing users to add tasks to different sections of board like Todo, In Progress and Done.

Notifications You must be signed in to change notification settings

madhvi-n/django-project-tracker

Repository files navigation

Project Tracker

Django CI

A project management app based on Django

Features

  • Add projects
  • Create project boards (one board is generated by default)
  • Add board sections (3 sections by default - To do, In Progress, Done)
  • Create task types (Default types: Task, Bug, Story)
  • Tasks with sub tasks
  • Link project to organizations [TODO]
  • Project members [TODO]
  • Assign tasks to other team members [TODO]

Requirements

  • Backend
    • Python 3.8+
    • virtualenv
    • WSL

Installation

Clone the repository and enter the root directory

git clone https://github.com/madhvi-n/django-project-tracker.git
cd django-project-tracker

Create a virtual environment and activate it

virtualenv venv
source venv/bin/activate

Making sure your virtual environment is activated, install the dependencies using pip

pip install -r requirements.txt

After installing dependencies, migrate Django apps.(You will find the list of apps when you run the command python manage.py runserver)

python manage.py migrate

Create django/python superuser using

python manage.py createsuperuser

Finally start your Django server

python manage.py runserver

Visit http://127.0.0.1:8000/ or localhost:8000 for running web server Alternatively you can access the admin interface on http://127.0.0.1:8000/admin/ or localhost:8000/admin

Access python shell

python manage.py shell

Generating data using shell

from django.contrib.auth.models import User
from projects.models import Project

# When a project is created, it creates a board with 3 board sections by default [Todo, In progress and Done]

user = User.objects.get(id=1)
project = Project.objects.create(
    title="Test project",
    content="A very long text as the content here",
    user=user
)

# get todo board section
section = BoardSection.objects.get(project=project, title__icontains="Todo").first()

# Similar to board sections, 3 tasks types are created by default for each project
task_type = TaskType.objects.get(id=1)
task = Task.objects.create(
    board_section=section,
    summary="CRUD for tasks",
    description="Implementation of create, read, update and delete for Task model,
    reporter=user,
    assignee=user,
    type=task_type
)

API documentation

  • Visit http://127.0.0.1:8000/swagger/ or localhost:8000/swagger/ for Swagger documentation
  • Visit http://127.0.0.1:8000/redoc/ or localhost:8000/redoc/ for Redoc documentation

Note: Django/Backend runs on WSL

References

About

A project tracker app which allows user to create projects, add project boards, create task types. Also allowing users to add tasks to different sections of board like Todo, In Progress and Done.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages