Welcome to the comprehensive TimeTracker documentation. Everything you need to install, configure, use, and contribute to TimeTracker.
- π Getting Started Guide β Complete beginner tutorial (β Start here!)
- Main README β Product overview and quick start
- Installation Guide β Step-by-step installation (Docker, SQLite)
- Architecture β System overview and design
- Development Guide β Run locally, tests, releases
- API Quick Reference β REST API overview and examples
- Installation & Deployment β Get TimeTracker running
- Feature Guides β Learn what TimeTracker can do
- Troubleshooting β Solve common issues
docs/
βββ π€ User Documentation
β βββ Getting Started
β βββ Feature Guides
β βββ User Guides
β
βββ π§ Administrator Documentation
β βββ Configuration
β βββ Deployment
β βββ Security
β βββ Monitoring
β
βββ π¨βπ» Developer Documentation
β βββ Contributing
β βββ Architecture
β βββ Development Setup
β βββ Testing
β
βββ π Reference
βββ API Documentation
βββ Implementation Notes
βββ Reports
- π Getting Started Guide β Complete beginner tutorial (β Start here!)
- Installation Guide β Step-by-step installation (root)
- Requirements β System requirements and dependencies
- How to deploy: Docker Compose Setup Β· Docker Public Setup
- Quick Wins Implementation (Deployment Checklist) β Feature implementation status (not deployment steps)
- Quick Start Guide β Get started quickly
- Quick Start Local Development β Local development setup
- π Complete Features Overview β Comprehensive documentation of all 130+ features (β Complete reference!)
- Task Management β Complete task tracking system
- Client Management β Manage clients and relationships
- Invoice System β Generate and track invoices
- Calendar Features β Calendar view and bulk entry
- Expense Tracking β Track business expenses
- Payment Tracking β Track invoice payments
- Budget Alerts & Forecasting β Monitor project budgets
- Command Palette β Keyboard shortcuts and quick actions
- Bulk Time Entry β Create multiple time entries at once
- Time Entry Templates β Reusable time entry templates
- Weekly Time Goals β Set and track weekly hour targets
- Break Time for timers and manual entries β Pause timers (break time) and optional break field on manual entries (Issue #561)
- Time Rounding β Configurable time rounding
- Role-Based Permissions β Granular access control
- Subcontractor role and assigned clients β Restrict users to specific clients and projects
See features/ for additional feature documentation.
- Docker Compose Setup β Docker deployment guide
- Docker Public Setup β Production deployment
- Docker Startup Troubleshooting β Fix startup issues
- Email Configuration β Email setup
- OIDC Setup β OIDC/SSO authentication setup
- Support visibility β Hide donate/support UI with a purchased key; purchase key
- Version Management β Managing versions
- Release Process β Release workflow
- Official Builds β Official build information
- Security Documentation β Security guides and configuration
- CSRF Configuration β CSRF token setup
- CSRF Troubleshooting β Fix CSRF errors
- HTTPS Setup (Auto) β Automatic HTTPS
- HTTPS Setup (mkcert) β Manual HTTPS with mkcert
- See admin/security/ for all security-related documentation
- Monitoring Documentation β Monitoring and analytics setup
- See admin/monitoring/ for telemetry and analytics guides
π See admin/README.md for complete administrator documentation
Use consistent terms in code, API, and user-facing copy: time entry / time entries, client, project, task, invoice. See Product/UX Audit for full context and naming recommendations.
- Contributor Guide β Architecture, local dev, testing, adding routes/services/templates, versioning
- Contributing β How to contribute (root; quick overview)
- Contributing Guidelines (full) β Setup, standards, PR process
- Development Guide β Run locally, tests, releases
- Architecture β System overview and design
- Code of Conduct β Community standards
- Project Structure β Codebase organization and architecture
- Local Testing with SQLite β Quick local testing setup
- Local Development with Analytics β Development setup with analytics
- Testing Quick Reference β Testing overview
- Testing Coverage Guide β Coverage documentation
- See testing/ for additional testing documentation
- 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
- Solution Guide β Technical solutions and patterns
- Frontend Quality Gates β Accessibility, performance, and modernization (web, desktop, mobile)
- Database Migrations β Database schema management
- Implementation Notes β Development notes and summaries
- Competitive Analysis β Feature gap analysis and phase PRDs
π See development/README.md for complete developer documentation
- API Quick Reference β Overview and quick examples
- REST API β Complete API reference with all endpoints (β Full reference!)
- API Token Scopes β Understanding token permissions and scopes
- API Versioning β API versioning strategy
- API Enhancements β Recent API improvements
π See api/README.md for complete API documentation
Authentication:
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://your-domain.com/api/v1/projectsCreate Time Entry:
curl -X POST -H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"project_id": 1, "start_time": "2025-01-27T09:00:00", "end_time": "2025-01-27T17:00:00"}' \
https://your-domain.com/api/v1/time-entriesSee REST API Documentation for complete examples and endpoint details.
- Installation Guide β Step-by-step installation (root)
- Getting Started Guide β Complete beginner tutorial
- Docker Compose Setup β Recommended deployment method
- Requirements β System requirements
- 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 Connection Troubleshooting β Database connection in Docker
- 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
- Troubleshooting Transaction Error β Transaction issues
- 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
Recent improvements and changes are documented in implementation-notes/:
- Layout & UX improvements
- Feature implementations
- Bug fixes and improvements
- Architecture changes
Analysis reports and summaries are available in reports/:
- Bugfix summaries
- Audit reports
- Translation analysis
Detailed feature documentation is available in features/:
- Feature guides
- Quick start guides
- Implementation status
Additional user guides are available in user-guides/:
- Step-by-step guides
- Tips and tricks
- Best practices
- Start with Main README for product overview
- Follow Getting Started Guide for installation
- Review Requirements to check system compatibility
- Explore Feature Documentation to learn features
- Follow Docker Compose Setup for deployment
- Review Version Management for updates
- Set up Email Configuration if needed
- Configure OIDC/SSO for authentication
- See admin/README.md for complete admin documentation
- Read Contributing Guidelines before making changes
- Review Project Structure to understand codebase
- Check Solution Guide for technical patterns
- Use Local Testing with SQLite for development
- See development/README.md for complete developer documentation
- Check Docker Startup Troubleshooting
- Review Database Connection Issues
- Consult Solution Guide for common problems
- Check specific feature documentation if issue is feature-related
docs/
βββ README.md # This file - documentation index
βββ GETTING_STARTED.md # Beginner tutorial
βββ REQUIREMENTS.md # System requirements
βββ FEATURES_COMPLETE.md # Complete features list
β
βββ guides/ # User-facing guides
β βββ DEPLOYMENT_GUIDE.md
β βββ QUICK_START_GUIDE.md
β βββ ...
β
βββ admin/ # Administrator documentation
β βββ configuration/ # Configuration guides
β βββ deployment/ # Deployment guides
β βββ security/ # Security documentation
β βββ monitoring/ # Monitoring & analytics
β
βββ development/ # Developer documentation
β βββ CONTRIBUTING.md
β βββ CODE_OF_CONDUCT.md
β βββ PROJECT_STRUCTURE.md
β βββ ...
β
βββ api/ # API documentation
β βββ REST_API.md
β βββ API_TOKEN_SCOPES.md
β βββ ...
β
βββ features/ # Feature-specific guides
β βββ ...
β
βββ implementation-notes/ # Development notes
β βββ ...
β
βββ testing/ # Testing documentation
β βββ ...
β
βββ reports/ # Reports & analysis
β βββ ...
β
βββ user-guides/ # Additional user guides
β βββ ...
β
βββ cicd/ # CI/CD documentation
βββ ...
A summary of doc accuracy, outdated content, gaps, and contradictions is in DOCS_AUDIT.md. Use it when updating or reorganizing docs.
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! π
- 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 role using the role-based sections above
- 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