Skip to content

s1t5/ProjectTimeTrackingAndTaskTool

Repository files navigation

🕒 Project Time Tracking and Task Tool

A modern web-based time tracking solution with Kanban board for project management

Docker
.NET
SQL Server

✨ Key Features

⏱️ Time Tracking

  • Record project work from the respective employees
  • Project assignment with dropdown selection
  • Stopwatch functionality for precise time recording
  • Manual time adjustment available

📋 Kanban Board

  • Project-specific boards as well as
  • Cross-project board to display all tasks at a glance
  • Customizable buckets (Backlog, Open, In Progress, Done)
  • Drag & Drop cards
  • Deadline and priority management
  • Task assignment
  • Filter and search tasks

📊 Reporting

  • Time period filtered overviews
  • Employee and project summaries
  • CSV export of all time records

🖼️ Screenshots

🚀 Quick Start

Prerequisites

🛠️ Installation

  1. Clone the repository:
git clone https://github.com/your-repo/time-tracking-system.git
cd time-tracking-system
  1. Adapt the docker-compose.yml and store a secure SA_PASSWORD. This Password must also be set in the initialization script line as well as the healthckeck test line. Beyond that the password must also be specified in the connection string found in the appsettings.json file.

This password must now have been stored in a total of four locations.

  1. Make database initialisation script executable
chmod +x ./docker/db/*
  1. Build and start containers:
docker compose up -d --build
  1. Restart docker stack:
docker compose restart
  1. Access the application:

🐳 Docker Deployment

Service Port Description
app 80 → 80 ASP.NET Core Application
db 1433 SQL Server Database

Environment Variables

Variable Example Value Description
ASPNETCORE_ENVIRONMENT Production Runtime environment

🔄 Maintenance

Stop containers:

docker compose down

Stop and remove volumes (Warning: Deletes data):

docker compose down -v

🔐 Security Note

  • 🔒 Change default passwords in docker-compose.yml as well as the appsettings.jaon
  • 🔐 Always use HTTPS and authentication provided by a reverse proxy in production
  • 💾 Regular backups of sql_data recommended

🤝 Contributing

Contributions welcome! Please open an Issue or Pull Request.

🚀 Roadmap

  • Translation of the code and the database into English (the project was started in German at the beginning)
  • Improve deployment process

🚀 In development

  • Portal for customer access so customers can be in volved and access their projects kanban board

📄 License: GNU GENERAL PUBLIC LICENSE Version 3 (see LICENSE file)