Task Manager is a simple web application for task management. The app allows users to create, edit, delete tasks, work with teams, projects, and organize workflows.
The project is deployed on Render.
https://task-track-manager.onrender.com/
Pre-configured account for login:
-
π Login:
admin -
π Password:
Qw$rty123Alternatively, you can register a new account.β οΈ Important Information Please note that the website may experience downtime or instability due to issues with the hosting provider. We are working diligently to ensure stable operation and apologize for any inconvenience caused.
The project is built using:
- π Backend: Python + Django
- ποΈ Database: SQLite (local), PostgreSQL (server)
- π Frontend: HTML, CSS
- π Version Control: Git
- π Deployment: Render
-
π Authentication and Authorization: Registration, login, password change, and reset via SMTP (Google).
-
π€ User Profile:
- π View productivity statistics: number of active tasks, projects, and completed tasks.
- βοΈ Edit personal information, change password, and logout.
- β Create new teams, projects, and tasks.
-
π₯ Teams:
- π Team List: View all user-associated teams.
- π Team Details:
- π οΈ Edit team information.
- β Add and β remove team members.
- π Create projects for the team.
-
π Projects:
- π Project List: Filter by status, create, and edit projects.
- π Project Details:
- π View project tasks.
- β Add new tasks.
- π οΈ Edit and β delete project tasks.
-
β Tasks:
- π Task List: Filter tasks by status, priority, team, and deadlines.
- π Task Details:
- π View task status, priority, deadline, and description.
- π€ Assign task executors.
- π¬ Add and β delete comments.
Main tables:
- π€ Worker: system users (based on AbstractUser).
- π·οΈ Position: user role in a team.
- π₯ Team: teams with associated members.
- π Project: projects related to teams.
- β Task: tasks with descriptions, priorities, deadlines, and assignees.
- π¬ Commentary: comments for tasks.
- π TaskType: task types for categorization.
To run the project locally:
-
Clone the repository:
git clone https://github.com/your-username/task-manager.git cd task-manager -
Create a virtual environment:
python -m venv venv source venv/bin/activate # For Linux/Mac venv\Scripts\activate # For Windows
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment: Create an
.envfile for configuration.# DB POSTGRES_DB=<db_name> # Name of the Postgres database POSTGRES_DB_PORT=<db_port> # Port of the Postgres database POSTGRES_USER=<db_user> # Postgres database username POSTGRES_PASSWORD=<db_password> # Postgres database password POSTGRES_HOST=<db_host> # Host for the Postgres database # If you do not wish to use Postgres, you can skip these fields and the application will use SQLite by default. # Django SECRET_KEY=<secret_key> # Mandatory: Secret key for Django DJANGO_SETTINGS_MODULE=<project.settings.prod/dev> # Mandatory: Specify production or development settings RENDER_EXTERNAL_HOSTNAME=<domain> # Optional: Domain name for external rendering # Django SMTP EMAIL_HOST_USER_SMPT=<admin@gmail.com> # Optional: SMTP email address for admin EMAIL_HOST_PASSWORD_SMPT=<password> # Optional: SMTP email password
Note:
- If POSTGRES_DB and related fields are not set, the project will fall back to using SQLite as the default database.
- If EMAIL_HOST_USER_SMPT and EMAIL_HOST_PASSWORD_SMPT are not set, the website will still work, but password reset functionality will be disabled.
- The SECRET_KEY and DJANGO_SETTINGS_MODULE are mandatory and must be provided for the application to run.
-
Load database data (if needed):
python manage.py loaddata dump.json
- Data is taken from the
fixture_data.jsonfile in the root directory.
- Data is taken from the
-
Run the server:
python manage.py runserver
-
Open the application:
- The server will run at
http://127.0.0.1:8000
- The server will run at
project-root/
βββ task_tracker_manager/ # Django configurations (urls, settings)
βββ taskhub/ # Application logic (models, views, utils)
β βββ migrations/ # Database migrations
β βββ management/ # Custom Django commands
β β βββ commands/ # Fixture loading commands
β β βββ load_fixture.py
β βββ admin.py # Admin panel
β βββ apps.py # App configuration
β βββ context_processors.py # Context processors
β βββ form.py # Forms
β βββ models.py # Database models
β βββ tests.py # Testing
β βββ urls.py # URL routing
β βββ utils.py # Helper functions
β βββ views.py # Request handlers
βββ templates/ # HTML templates
βββ static/ # CSS and static files
βββ fixture_data.json # Database fixture data
βββ manage.py # Django CLI
βββ db.sqlite3 # Local SQLite database
βββ requirements.txt # Dependencies
βββ .env # Environment variables
βββ README.md # Project description












