Skip to content

ProTaskinate is a project management tool designed to help teams stay on track by efficiently managing tasks and deadlines, turning procrastination into productivity

Notifications You must be signed in to change notification settings

3nd3r1/protaskinate

Repository files navigation

ProTaskinate is a project management tool (like Jira) designed to help teams efficiently manage tasks, projects, and deadlines.

Live Demo . Latest Release

Preview

preview

Key Features:

  • Task Management: Create, assign, and track tasks with due dates, priorities, and progress statuses.
  • Kanban Board: Visualize and manage tasks across different stages (To Do, In Progress, Done).
  • Project Organization: Organize tasks within specific projects for better clarity and tracking.
  • User Roles: Assign roles (Admin/User) with different access permissions.
  • Comments and Collaboration: Leave comments on tasks for better communication between team members.
  • Activity Log: Track task updates and project changes in real time.
  • Visualization: Easily create charts (E.g. burndown chart) to visualize your project.

Tech Stack:

  • Backend: Flask (Python)
  • Database: PostgreSQL
  • Frontend: HTML/CSS/JavaScript

Running Locally:

With Docker:

  1. Clone the repository:
git clone https://github.com/3nd3r1/protaskinate.git
cd protaskinate
  1. Run docker-compose:
docker compose up

Without Docker:

  1. Clone the repository:
git clone https://github.com/3nd3r1/protaskinate.git
cd protaskinate
  1. Install dependencies:
poetry install
  1. Update the .env file with your database credentials:
  2. Generate a secret key:
poetry run invoke generate-secret-key
  1. Create schema and populate the database:
poetry run invoke create-schema
peotry run invoke populate-db
  1. Run the application in development mode:
poetry run invoke dev
  1. Open your browser and navigate to http://localhost:5000

Weekly Report

Loppupalautus - 2024-10-15

The project is now finished. The project has a good code structure and clean code. All features except the visualization feature have been implemented. After adding some unittests for tasks and projects, the test coverage has risen to around 60%.

Addressing some of the feedback in labtool:

  • The CSRF vulnerability has been fixed
  • After a thorough code review, I believe there are no SQL injection vulnerabilities present. While I am formatting some queries, all user inputs are sanitized and passed as parameters. The formatting applied to table and field names does not involve any user input.
  • I added a COUNT query to the dashboard, but I am not sure if that is enough. I couldn't think of any other aggregates that would be useful.
  • I removed all HTML5 client-side validation so all the errors are displayed at once. However, I don't think disabling client-side validation is a good idea, since it will add more load to the server.

The project is available in production on protaskinate-page.host.ender.fi.

More info about updates in the changelog.

Here are some credentials for testing:

admin:admin
user:user

Välipalautus 3 - 2024-10-1

The project is almost finished. The project still has good code structure and clean code. Many more features have been implemented, but some are still left. Test coverage is still very poor.

The project is available in production on protaskinate-page.host.ender.fi.

More info in the changelog.

Välipalautus 2 - 2024-09-17

The project is progressing well. Testing has not yet been started so the coverage is poor. The project has a good structure and the code is clean. Many core features have been completed, more information can be found in the changelog. The project is available in production on protaskinate-page.host.ender.fi.

For testing you can use the following credentials:

  • Username: admin
  • Password: admin

PS. For some reason the production database is flaky, so if you encounter an internal server error, please just reload the page, it should work...

About

ProTaskinate is a project management tool designed to help teams stay on track by efficiently managing tasks and deadlines, turning procrastination into productivity

Resources

Stars

Watchers

Forks

Packages

No packages published