Files
Dries Peeters 1529a2d498 fix(oidc): resolve redirect loop with Authelia and improve callback diagnostics
- Add issuer fallback from OIDC_ISSUER when userinfo lacks iss (fixes Authelia)
- Fallback to unverified id_token decode for iss when ID token parsing failed
- Wrap authorize_access_token() in dedicated try/except; log token_exchange_failed
  and suggest session cookie/proxy checks when state or PKCE validation fails
- Log reason=... before every redirect to login in callback for easier debugging
- Add 'Redirect loop / callback returns to login' troubleshooting to OIDC_SETUP.md

Fixes #486

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-02 20:30: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

Quick API Examples

Authentication:

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
     https://your-domain.com/api/v1/projects

Create 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-entries

See REST API Documentation for complete examples and endpoint details.


🚀 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