Files
TimeTracker/docs
Dries Peeters d3f7fb8998 docs: Add troubleshooting for PostgreSQL init and ADMIN_USERNAMES behavior
Addresses user deployment issues:
1. PostgreSQL database tables not being created automatically
2. Authentication issues when using multiple admin usernames

Documentation improvements:
- Added comprehensive troubleshooting sections for PostgreSQL database initialization
- Clarified that only the first username in ADMIN_USERNAMES is auto-created during initialization
- Documented that additional admin usernames must self-register or be created manually
- Added step-by-step solutions for both issues

Code improvements:
- Fixed whitespace handling in ADMIN_USERNAMES parsing (strip whitespace from all usernames)
- Fixed whitespace handling in all database initialization scripts to properly strip the first admin username
- Ensured consistent behavior across all initialization paths

Files updated:
- All Docker setup documentation files
- Configuration documentation
- README and env.example
- Database initialization scripts
- Config parsing logic
2025-12-29 08:00:26 +01:00
..

TimeTracker Documentation

Welcome to the comprehensive TimeTracker documentation. Everything you need to install, configure, use, and contribute to TimeTracker.



🗺️ Documentation Map

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

👤 User Documentation

Getting Started

User Guides

Feature Documentation

See features/ for additional feature documentation.


🔧 Administrator Documentation

Configuration

Deployment

Security

Monitoring

📖 See admin/README.md for complete administrator documentation


👨‍💻 Developer Documentation

Getting Started

Development Setup

Testing

CI/CD

Technical Documentation

📖 See development/README.md for complete developer documentation


📚 API Documentation

📖 See api/README.md for complete API documentation


🚀 Installation & Deployment

Quick Start

  1. Getting Started Guide — Complete beginner tutorial
  2. Docker Compose Setup — Recommended deployment method
  3. Requirements — System requirements

Database & Migrations


🛠️ Troubleshooting

Common Issues

Quick Fixes

  • Port conflicts: Change PORT=8081 in 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

Implementation Notes

Recent improvements and changes are documented in implementation-notes/:

  • Layout & UX improvements
  • Feature implementations
  • Bug fixes and improvements
  • Architecture changes

Reports & Analysis

Analysis reports and summaries are available in reports/:

  • Bugfix summaries
  • Audit reports
  • Translation analysis

Feature-Specific Documentation

Detailed feature documentation is available in features/:

  • Feature guides
  • Quick start guides
  • Implementation status

User Guides

Additional user guides are available in user-guides/:

  • Step-by-step guides
  • Tips and tricks
  • Best practices

🔍 Documentation by Role

For New Users

  1. Start with Main README for product overview
  2. Follow Getting Started Guide for installation
  3. Review Requirements to check system compatibility
  4. Explore Feature Documentation to learn features

For Administrators

  1. Follow Docker Compose Setup for deployment
  2. Review Version Management for updates
  3. Set up Email Configuration if needed
  4. Configure OIDC/SSO for authentication
  5. See admin/README.md for complete admin documentation

For Developers

  1. Read Contributing Guidelines before making changes
  2. Review Project Structure to understand codebase
  3. Check Solution Guide for technical patterns
  4. Use Local Testing with SQLite for development
  5. See development/README.md for complete developer documentation

For Troubleshooting

  1. Check Docker Startup Troubleshooting
  2. Review Database Connection Issues
  3. Consult Solution Guide for common problems
  4. Check specific feature documentation if issue is feature-related

📁 Documentation Structure

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
    └── ...

🤝 Contributing to Documentation

Found an error? Want to improve the docs?

  1. Check the Contributing Guidelines
  2. Make your changes to the relevant documentation file
  3. Test that all links work correctly
  4. 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 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


⬆ Back to Top