A Django-based web application designed to manage tasks, workers, and project metadata in an IT company environment.
git clone https://github.com/Maksym-Dazidov/it-task-manager
cd it_task_managerCreate and activate a virtual environment to keep dependencies isolated:
python -m venv .venv
# For Windows:
.venv\Scripts\activate
# For macOS/Linux:
source .venv/bin/activatepip install -r requirements.txt-
Create a .env file in the root directory (next to manage.py).
-
Copy the content from .env.example into your new .env file.
-
Set your secret key:
SECRET_KEY=your_secret_key_hereRun migrations to set up the SQLite database schema:
python manage.py migrateStart the local server:
python manage.py runserverlogin: user
password: user12345
-
Dashboard Statistics: Real-time overview of tasks, workers, and task types.
-
Session Tracking: Built-in visit counter for users.
-
Full CRUD Support: Complete Create, Read, Update, and Delete functionality for:
-
Tasks: With priority levels (Urgent, High, Medium, Low) and status tracking.
-
Workers: Custom user model with position tracking.
-
Tags & Task Types: Metadata management for organizing work.
-
Safe Deletion: Custom SafeDeleteMixin prevents system crashes when trying to delete objects that are currently in use (e.g., a Position assigned to a Worker).
-
Secure Access: LoginRequiredMixin integrated across all management views.
-
it_task_manager/: Project configuration and main URL settings. -
tasks/: Main application logic containing models, views, and forms. -
templates/: HTML structure including base layouts and components like sidebars and navbars. -
mixins.py: Custom logic for error handling during object deletion.
AUTH_USER_MODEL = 'tasks.Worker'
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = 'login'