Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Task Manager v.1 #1

Open
wants to merge 49 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
670f72b
add pycache to gitignore
petrykivd Nov 22, 2023
1129ad4
add new empty app task_manager
petrykivd Nov 22, 2023
edc5fc7
Changed settings files
petrykivd Nov 22, 2023
b4f4d53
Created models and migrations
petrykivd Nov 22, 2023
03f7a0a
Created models and migrations, add DB to gitignore
petrykivd Nov 22, 2023
ad74056
Register models in admin panel
petrykivd Nov 22, 2023
50b46cf
add static files
petrykivd Nov 22, 2023
4656bc3
created templates
petrykivd Nov 22, 2023
e08e506
changed settings
petrykivd Nov 22, 2023
4fab9bb
created models, urls, index view func and changed urlpatterns
petrykivd Nov 22, 2023
cfe8885
Add styles and images to static
petrykivd Nov 23, 2023
fec4e3d
Add footer to base.html
petrykivd Nov 23, 2023
0e38298
Create urls and pages for worker details, tasks, task_done and task_d…
petrykivd Nov 23, 2023
ee036be
add to content a loop with tasks
petrykivd Nov 23, 2023
6b16949
Little edits for sidebar and navigation pages
petrykivd Nov 23, 2023
cd673c6
Fixed creating user without password hashing
petrykivd Nov 23, 2023
85a6e27
Changed favicon, footer text, home page width
petrykivd Nov 23, 2023
c591867
Deleted test button on sidebar. Created feature, when only user who w…
petrykivd Nov 23, 2023
ac75b91
Created buttons join task, delete task, leave task, html file with mo…
petrykivd Nov 23, 2023
7ab764f
Fixed loging
petrykivd Nov 23, 2023
60a5299
Created task archive func and template
petrykivd Nov 23, 2023
94586bf
Added completed tasks by currenly worker, added feature "assign worke…
petrykivd Nov 23, 2023
a476607
Fixed tasks buttons(mark as done, delete task, assign task) with perm…
petrykivd Nov 23, 2023
6e939b2
Added creator task, assigner worker to task, editor task. Redesigned …
petrykivd Nov 23, 2023
93da24f
Add feature for admins:
petrykivd Nov 23, 2023
2f67d98
Created worker list
petrykivd Nov 23, 2023
3da8dac
Cosmetic edits
petrykivd Nov 23, 2023
4fa772b
Created pagination for workers list v1 and cosmetic changes in htmls
petrykivd Nov 24, 2023
3ae899b
Added README, database startup dump, requirements.txt
petrykivd Nov 24, 2023
4995e77
README update
petrykivd Nov 24, 2023
0d6c28a
Add link to deployed project on Render
petrykivd Nov 24, 2023
2fd4395
Update README.md
petrykivd Nov 24, 2023
1fc2e97
Updated admin user for local usage
petrykivd Nov 25, 2023
c66ece4
Add new modules.
petrykivd Nov 25, 2023
2745203
Created settings package with package for local usage and deplyoing p…
petrykivd Nov 25, 2023
7724259
Created build file for deploying
petrykivd Nov 25, 2023
650f364
Add feature for admin: can mark task us undone
petrykivd Nov 25, 2023
b7aef9b
Fixed button mark task us undone not only when admin is assigned to task
petrykivd Nov 25, 2023
a6f80d3
Deleted first and last buttons for pagination
petrykivd Nov 25, 2023
0c0be3e
Fixed:
petrykivd Nov 25, 2023
4a172ad
Created search form for workers_list page
petrykivd Nov 25, 2023
11b9d29
Fixed bug when admin can't mark task as done if he is not in assignee…
petrykivd Nov 25, 2023
25661ff
Added pagination for archived tasks
petrykivd Nov 25, 2023
fbc6c3f
Updated home page image
petrykivd Nov 25, 2023
4a99bc5
Fixed sidebar don't shows when user is not authenticated
petrykivd Nov 25, 2023
606f180
Fixed bug with completed tasks on page
petrykivd Nov 25, 2023
f91ac2f
Fixed footer
petrykivd Nov 25, 2023
be40d44
Added ADMINS credentials
petrykivd Nov 30, 2023
a8695cf
Added tests
petrykivd Dec 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
.idea
venv
venv
**__pycache__
db.sqlite3
80 changes: 80 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,81 @@
# it-task-manager

Welcome to the Task | Hub, a simple web application for managing tasks in your development team. This project allows
team members to create tasks, assign them to other members, and mark them as completed.

# Task|Hub Home Page Layout
![image](https://github.com/petrykivd/it-task-manager/assets/111526221/f2be634f-d733-44d3-8f88-6d9a0a57c1ee)


## Features

- **Task Creation**: Team members can create new tasks, providing details such as name, description, deadline, and
priority.
- **Task Assignment**: Tasks can be assigned to team members, helping to distribute the workload effectively.
- **Task Completion**: Team members can mark tasks as done, indicating successful completion.
- **Task Editing**: Users with appropriate permissions can edit task details.
- **Worker Management**: View a list of team members and their associated tasks.
- **Authentication**: Secure login/logout functionality.

## Check it out!

[Task Hub project deployed on Render](https://task-manager-j8w3.onrender.com/)

**Demo Credentials:**
- Username: `bob3307`
- Password: `pass12345`
- Username: `admin`
- Password: `admin@12345`

## Getting Started

1. Clone the repository: ` git clone https://github.com/petrykivd/it-task-manager.git `
2. Create a virtual environment: `python -m venv venv`
3. Activate the virtual environment:
- On Windows: `venv\Scripts\activate`
- On macOS/Linux: `source venv/bin/activate`
4. Install dependencies: `pip install -r requirements.txt`
- If you don't have **pip** installed [install it here](https://pip.pypa.io/en/stable/installation/#).
5. Apply database migrations: `python manage.py migrate`
- `python manage.py loaddata database_dump.json` to load the database dump.
6. Create a superuser: `python manage.py createsuperuser` or use the existing one:
- Username: `admin`
- Password: `12345`
or use regular user:
- Username: `bob3307`
- Password: `pass12345`
7. Run the development server: `python manage.py runserver`

Visit `http://127.0.0.1:8000/` in your web browser to access the Task Manager.

## Usage

1. Log in with your credentials or create a new account.
2. Explore the dashboard to view tasks, task counts by priority, and tasks assigned to you.
3. Create new tasks using the "Add task" button.
4. Assign tasks to team members.
5. Mark tasks as completed when finished.

## TODO

- **Task List Page Optimization**:
- Implement pagination on pages that display multiple items (e.g., task lists).
- Implement the ability to search for tasks using various criteria such as name, priority, status, etc.
- **Design Enhancement**:
- Style Refinement: Improve the styles and layout of elements on the task pages for a more user-friendly experience.
- Animations and Transitions: Add animations or transitions between pages to enhance visual appeal and usability.
- **Internationalization Support**:
- Provide users with the option to choose their preferred language for the user interface (localization).
- Ensure translation support for essential textual elements used throughout the application.
- **Task Statistics**:
- Create a dedicated page displaying task statistics, including the number of tasks by priority, status, etc.
- Display these statistics in the form of graphs or diagrams for better data visualization.
- **User Registration**:
- Enable the registration of new users, allowing them to create accounts for using the application.
- **Test Coverage**:
- Develop tests for various parts of the application to ensure that all functions work as expected.
- Verify that the application performs reliably under different scenarios.

## Contributing

Feel free to contribute to these enhancements, and let's make the Task | Hub even better!
8 changes: 8 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash

set -0 errexit

pip install -r requirements.txt

python manage.py collectstatic --noinput
python manage.py migrate
1 change: 1 addition & 0 deletions database_dump.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion manage.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'it_task_manager.settings')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'task_manager_service.settings.local')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
Expand Down
11 changes: 11 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
asgiref==3.7.2
dj-database-url==2.1.0
Django==4.2.7
gunicorn==21.2.0
packaging==23.2
psycopg==3.1.13
psycopg2-binary==2.9.9
python-dotenv==1.0.0
sqlparse==0.4.4
typing_extensions==4.8.0
whitenoise==6.6.0
File renamed without changes.
133 changes: 133 additions & 0 deletions static/css/dark-theme-core.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions static/css/dark-theme-core.css.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading