mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-01-04 02:30:01 -06:00
d230a41e8a666b4d5da299c29c7ef8c39a1208e2
- 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.
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
- Clone the repository
- Install dependencies:
pip install -r requirements.txt - Set up environment variables (see
env.example) - 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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- 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.
Languages
Python
57.1%
HTML
33.7%
JavaScript
6.5%
Shell
1.3%
CSS
0.9%
Other
0.3%