mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-01-08 12:40:38 -06:00
Add comprehensive HTTPS support with two deployment options: - mkcert for local development with trusted certificates - Automatic SSL with Let's Encrypt for production HTTPS Implementation: - Add docker-compose.https-mkcert.yml for local HTTPS development - Add docker-compose.https-auto.yml for automatic SSL certificates - Create Dockerfile.mkcert for certificate generation - Add setup scripts (setup-https-mkcert.sh/bat) - Add startup scripts (start-https.sh/bat) - Add certificate generation script (generate-mkcert-certs.sh) CSRF and IP Access Fixes: - Fix CSRF token validation for IP-based access - Add CSRF troubleshooting documentation - Update configuration to handle various access patterns Documentation: - Add HTTPS_MKCERT_GUIDE.md with setup instructions - Add README_HTTPS.md with general HTTPS documentation - Add README_HTTPS_AUTO.md for automatic SSL setup - Add AUTOMATIC_HTTPS_SUMMARY.md - Add CSRF_IP_ACCESS_FIX.md and CSRF_IP_FIX_SUMMARY.md - Add docs/CSRF_IP_ACCESS_GUIDE.md - Update main README.md with HTTPS information Configuration: - Update .gitignore for SSL certificates and nginx configs - Update env.example with new HTTPS-related variables - Update docker-compose.yml with SSL configuration options This enables secure HTTPS access in both development and production environments while maintaining compatibility with existing deployments.
TimeTracker Documentation
Welcome to the comprehensive TimeTracker documentation. Everything you need to install, configure, use, and contribute to TimeTracker.
📖 Quick Links
- 🚀 Getting Started Guide — Complete beginner tutorial (⭐ Start here!)
- Main README — Product overview and quick start
- Installation Guide — Get TimeTracker running
- Feature Guides — Learn what TimeTracker can do
- Troubleshooting — Solve common issues
🚀 Installation & Deployment
Getting Started
- 🚀 Getting Started Guide — Complete beginner tutorial (⭐ Start here!)
- Requirements — System requirements and dependencies
- Docker Public Setup — Production deployment with Docker
- Local Testing with SQLite — Quick test without database setup
Database & Migrations
- Database Migrations — Database schema management with Flask-Migrate
- Migration Guide — Migrate existing databases
- Enhanced Database Startup — Automatic database initialization
- Database Startup Fix — Database connection troubleshooting
Docker & Containers
- Docker Startup Troubleshooting — Fix Docker issues
- Docker Startup Configuration — Container startup behavior
- Docker Connection Troubleshooting — Database connection in Docker
✨ Feature Documentation
Core Features
- Task Management — Complete task tracking system
- Task Management Overview — Task management concepts
- Client Management — Manage clients and relationships
- Invoice System — Generate and track invoices
- Enhanced Invoice System — Advanced invoicing features
- Calendar Features — Calendar view and bulk entry
Advanced Features
- Command Palette — Keyboard shortcuts and quick actions
- Bulk Time Entry — Create multiple time entries at once
- Logo Upload System — Brand your invoices
- Toast Notification System — User feedback and notifications
- Translation System — Multi-language support
Additional Documentation
- Mobile Improvements — Mobile-optimized interface
- Invoice Interface Improvements — Invoice UI enhancements
- PDF Generation Troubleshooting — Fix PDF generation issues
🔧 Technical Documentation
Project Structure
- Project Structure — Codebase organization and architecture
- Solution Guide — Technical solutions and patterns
Development
- Contributing Guidelines — How to contribute to TimeTracker
- Code of Conduct — Community standards and expectations
- Version Management — Release process and versioning
CI/CD
- CI/CD Documentation — Continuous integration and deployment
- Documentation — CI/CD overview
- Quick Start — Get started with CI/CD
- Implementation Summary — What was implemented
- GitHub Actions Setup — Configure GitHub Actions
- GitHub Actions Verification — Verify CI/CD setup
Release & Images
- Release Process — How to create releases
- GitHub Workflow Images — Docker images on GitHub Container Registry
🛠️ Troubleshooting
Common Issues
- Docker Startup Troubleshooting — Docker won't start
- Database Connection Issues — Can't connect to database
- PDF Generation Issues — PDFs not generating
- Solution Guide — General problem solving
Quick Fixes
- Port conflicts: Change
PORT=8081in docker-compose command - Database issues: Run
docker-compose down -v && docker-compose up -d - Permission errors: Check file ownership with
chown -R $USER:$USER . - Migration failures: See Database Migrations
📚 Additional Resources
Features & Improvements
Detailed documentation about features and improvements is available in:
- Implementation Notes — Development summaries and changelogs
- Feature Guides — Specific feature documentation
Implementation Notes
Recent improvements and changes:
- Analytics Improvements
- Calendar Improvements
- Command Palette Improvements
- Dashboard & Navbar
- Kanban Improvements
- Notification System
- OIDC Improvements
- Reports Improvements
- Styling Consistency
- Toast Notifications
- Translation Improvements
- Translation Fixes
- UI Improvements
Feature Specific
Feature documentation and quick starts:
- Alembic Migrations
- Project Costs
- Project Costs Quick Start
- Calendar Quick Start
- Badges
- Code Formatting
🔍 Documentation by Topic
For New Users
- Start with Main README for product overview
- Review Requirements to check if your system is compatible
- Follow Docker Public Setup for installation
- Explore Feature Documentation to learn what TimeTracker can do
For Developers
- Read Contributing Guidelines before making changes
- Review Project Structure to understand the codebase
- Check Solution Guide for technical patterns
- Use Local Testing with SQLite for development
For Administrators
- Follow Docker Public Setup for deployment
- Review Version Management for updates
- Set up Database Migrations for schema management
- Configure CI/CD for automated deployments
For Troubleshooting
- Check Docker Startup Troubleshooting
- Review Database Connection Issues
- Consult Solution Guide for common problems
- Check specific feature documentation if issue is feature-related
📝 Documentation Structure
docs/
├── README.md # This file - documentation index
├── REQUIREMENTS.md # System requirements
├── PROJECT_STRUCTURE.md # Codebase architecture
├── CONTRIBUTING.md # Contribution guidelines
├── CODE_OF_CONDUCT.md # Community standards
│
├── cicd/ # CI/CD documentation
│ ├── CI_CD_DOCUMENTATION.md
│ ├── CI_CD_QUICK_START.md
│ └── ...
│
├── features/ # Feature-specific guides
│ ├── ALEMBIC_MIGRATION_README.md
│ ├── PROJECT_COSTS_FEATURE.md
│ └── ...
│
└── implementation-notes/ # Development notes
├── ANALYTICS_IMPROVEMENTS_SUMMARY.md
├── UI_IMPROVEMENTS_SUMMARY.md
└── ...
🤝 Contributing to Documentation
Found an error? Want to improve the docs?
- Check the Contributing Guidelines
- Make your changes to the relevant documentation file
- Test that all links work correctly
- Submit a pull request with a clear description
Good documentation helps everyone! 📚
💡 Tips for Using This Documentation
- Use the search function in your browser (Ctrl/Cmd + F) to find specific topics
- Follow links to related documentation for deeper understanding
- Start with Quick Links at the top if you're in a hurry
- Browse by topic using the categorized sections
- Check Implementation Notes for recent changes and improvements
Need help? Open an issue or check the troubleshooting section
Want to contribute? See our Contributing Guidelines