This is a test project aimed at developing a task management system similar to Jira, with a focus on flexibility in defining custom fields for tasks. The primary entity is the 'task,' which comprises static fields such as id, name, description, and status, alongside customizable 'custom-fields' of various types like text, int, date, and links to users.
Register page:
Login page:
List/search tasks page (over 1 million tasks):
Create a task page:
Edit (update/delete) an existing task page:
- Authentication and authorization: using the built-in Django administration.
- Registration
- Login
- Administration
- Task management
- Definition and validation (format and existence)
- Id
- Name
- Description
- Dynamic fields
- Int
- Text
- Date
- User
- Create
- Update
- Delete
- List/Search
- Static fields
- Dynamic fields
- Pagination
- Graphical dynamic fields management
- Definition and validation (format and existence)
You should only clone the repository:
git clone https://github.com/AlirezaRoshanzamir/taskify.git
and start the services:
docker compose up
The following programming languages and tools are used in this repository:
- Programming and Scripting Language: Python
- Web Framework: Django
- Static Analysis and Formatter: isort, Black
- Virtualization and Container Orchestration: Docker, Docker Compose
- Database: PostgreSQL
You can perform common tasks on the repository as follows:
Command | Description |
---|---|
black . && isort . |
Format the code. |
python -m venv venv && source venv/bin/action |
Create a virtual environment and activate it. |
pip install -r 3rdparty/requirements.txt |
Install the requirements. |
pip install -r 3rdparty/requirements-dev.txt |
Install the development time requirements. |
python manage.py makemigrations |
Generate migrations. |
python manage.py migrate |
Apply migrations. |
python manage.py runserver |
Run the server. |
docker compose up |
Build the Docker images and start the services. |
docker compose down |
Shut-down the services. |