be111a4bedb525af2a66ac51e4a43f6e353daf0d
Add complete project management system with role-based access control: **Core Features:** - Project creation and management for Admins/Supervisors - Time tracking with optional project selection and notes - Project-based filtering and reporting in history - Enhanced export functionality with project data - Team-specific project assignments **Database Changes:** - New Project model with full relationships - Enhanced TimeEntry model with project_id and notes - Updated migration scripts with rollback support - Sample project creation for testing **User Interface:** - Project management templates (create, edit, list) - Enhanced time tracking with project dropdown - Project filtering in history page - Updated navigation for role-based access - Modern styling with hover effects and responsive design **API Enhancements:** - Project validation and access control - Updated arrive endpoint with project support - Enhanced export functions with project data - Role-based route protection **Migration Support:** - Comprehensive migration scripts (migrate_projects.py) - Updated main migration script (migrate_db.py) - Detailed migration documentation - Rollback functionality for safe deployment **Role-Based Access:** - Admins: Full project CRUD operations - Supervisors: Project creation and management - Team Leaders: View team hours with projects - Team Members: Select projects when tracking time 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
TimeTrack
TimeTrack is a web-based time tracking application built with Flask that helps users monitor their work hours, breaks, and maintain a history of their time entries.
Features
- Time Tracking: Record arrival and departure times
- Break Management: Pause and resume work sessions
- Daily Overview: View today's time entries at a glance
- Complete History: Access all past time entries
- Configuration: Customize work hours and break settings
Tech Stack
- Backend: Flask 2.0.1
- Database: SQLAlchemy with SQLite
- Frontend: HTML, CSS, JavaScript
Installation
Prerequisites
- Python 3.12
- pip or pipenv
Setup with pipenv (recommended)
# Clone the repository
git clone https://github.com/nullmedium/TimeTrack.git
cd TimeTrack
# Install dependencies using pipenv
pipenv install
# Activate the virtual environment
pipenv shell
# Initialize the database
python migrate_db.py
# Run the application
python app.py
Languages
HTML
52.9%
Python
27.2%
CSS
12.4%
JavaScript
7.1%
Shell
0.3%