Dries Peeters d230a41e8a feat: enhance web interface layout and fix logo import circular dependency
- Improve web interface layout for better user-friendliness and mobile responsiveness
  * Update CSS variables for consistent spacing and component sizing
  * Enhance card layouts with improved padding, borders, and shadows
  * Optimize button and form element dimensions for better touch targets
  * Add hover effects and animations for improved user interaction
  * Implement responsive grid system with mobile-first approach

- Refactor mobile JavaScript to prevent duplicate initialization
  * Consolidate mobile enhancements into dedicated utility classes
  * Add initialization guards to prevent double loading
  * Implement MobileUtils and MobileNavigation classes
  * Remove duplicate event listeners and mobile enhancements

- Fix circular import issue in logo handling
  * Replace problematic 'from app import app' with Flask's current_app
  * Add error handling for cases where current_app is unavailable
  * Improve logo path resolution with fallback mechanisms
  * Fix settings model to use proper Flask context

- Clean up template code and remove duplication
  * Remove duplicate mobile enhancements from base template
  * Clean up dashboard template JavaScript
  * Centralize all mobile functionality in mobile.js
  * Add proper error handling and debugging

- Update CSS variables and spacing system
  * Introduce --section-spacing and --card-spacing variables
  * Add mobile-specific spacing variables
  * Improve border-radius and shadow consistency
  * Enhance typography and visual hierarchy

This commit resolves the double loading issue and logo import errors while
significantly improving the overall user experience and mobile responsiveness
of the web interface.
2025-08-30 10:09:06 +02:00
2025-08-25 09:59:43 +02:00
2025-08-25 09:59:43 +02:00
2025-08-16 21:49:43 +02:00

TimeTracker - Professional Time Tracking Application

A comprehensive web-based time tracking application built with Flask, featuring project management, time tracking, invoicing, and analytics.

🚀 Quick Start

Prerequisites

  • Python 3.8+
  • Docker (optional)
  • PostgreSQL (recommended) or SQLite

Installation

  1. Clone the repository
  2. Install dependencies: pip install -r requirements.txt
  3. Set up environment variables (see env.example)
  4. Run the application: python app.py

📁 Project Structure

The project has been organized for better maintainability:

TimeTracker/
├── app/                    # Main Flask application
│   ├── models/            # Database models
│   ├── routes/            # Route handlers
│   ├── static/            # Static assets (CSS, JS, images)
│   ├── templates/         # HTML templates
│   └── utils/             # Utility functions
├── docs/                  # Documentation and README files
├── docker-configs/        # Docker configurations and Dockerfiles
├── docker/                # Docker-related scripts and utilities
│   ├── config/            # Configuration files (Caddyfile, supervisord)
│   ├── fixes/             # Database and permission fix scripts
│   ├── migrations/        # Database migration scripts
│   ├── startup/           # Startup and initialization scripts
│   └── tests/             # Docker environment test scripts
├── scripts/                # Deployment and utility scripts
├── tests/                  # Application test suite
├── templates/              # Additional templates
├── assets/                 # Project assets and screenshots
└── logs/                   # Application logs

🐳 Docker Support

Multiple Docker configurations are available in docker-configs/:

  • Standard: docker-compose.yml - Full application with all features
  • Simple: docker-compose.simple.yml - Minimal setup
  • Python: docker-compose.python.yml - Python-only environment
  • WeasyPrint: docker-compose.weasyprint.yml - With PDF generation
  • Fixed: docker-compose.fixed.yml - Resolved permission issues

🔧 Features

  • Time Tracking: Start/stop timer with project and task association
  • Project Management: Create and manage projects with client information
  • Task Management: Organize work into tasks and categories
  • Invoicing: Generate professional invoices from time entries
  • Analytics: Comprehensive reporting and time analysis
  • User Management: Multi-user support with role-based access
  • Mobile Responsive: Works on all devices

📚 Documentation

Detailed documentation is available in the docs/ directory:

  • API Documentation: API endpoints and usage
  • Feature Guides: Detailed feature explanations
  • Troubleshooting: Common issues and solutions
  • Deployment: Setup and deployment instructions

🚀 Deployment

Docker Deployment

# Use the appropriate docker-compose file
docker-compose -f docker-configs/docker-compose.yml up -d

Manual Deployment

# Install dependencies
pip install -r requirements.txt

# Set environment variables
cp env.example .env
# Edit .env with your configuration

# Run the application
python app.py

🧪 Testing

Run the test suite:

python -m pytest tests/

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

See docs/CONTRIBUTING.md for detailed guidelines.

📄 License

This project is licensed under the MIT License - see the docs/LICENSE file for details.

🆘 Support

  • Issues: Report bugs and feature requests on GitHub
  • Documentation: Check the docs/ directory
  • Troubleshooting: See docs/SOLUTION_GUIDE.md

🔄 Recent Updates

  • Project Cleanup: Reorganized project structure for better maintainability
  • Docker Organization: Consolidated Docker configurations and scripts
  • Documentation: Moved all documentation to dedicated docs/ directory
  • Script Organization: Grouped utility scripts by purpose

Note: This project has been cleaned up and reorganized. All files have been preserved and moved to appropriate directories for better organization and maintainability.

Description
No description provided
Readme GPL-3.0 23 MiB
Languages
Python 57.1%
HTML 33.7%
JavaScript 6.5%
Shell 1.3%
CSS 0.9%
Other 0.3%