Complete reorganization of project documentation to improve discoverability, navigation, and maintainability. All documentation has been restructured into a clear, role-based hierarchy. ## Major Changes ### New Directory Structure - Created `docs/api/` for API documentation - Created `docs/admin/` with subdirectories: - `admin/configuration/` - Configuration guides - `admin/deployment/` - Deployment guides - `admin/security/` - Security documentation - `admin/monitoring/` - Monitoring and analytics - Created `docs/development/` for developer documentation - Created `docs/guides/` for user-facing guides - Created `docs/reports/` for analysis reports and summaries - Created `docs/changelog/` for detailed changelog entries (ready for future use) ### File Organization #### Moved from Root Directory (40+ files) - Implementation notes → `docs/implementation-notes/` - Test reports → `docs/testing/` - Analysis reports → `docs/reports/` - User guides → `docs/guides/` #### Reorganized within docs/ - API documentation → `docs/api/` - Administrator documentation → `docs/admin/` (with subdirectories) - Developer documentation → `docs/development/` - Security documentation → `docs/admin/security/` - Telemetry documentation → `docs/admin/monitoring/` ### Documentation Updates #### docs/README.md - Complete rewrite with improved navigation - Added visual documentation map - Organized by role (Users, Administrators, Developers) - Better categorization and quick links - Updated all internal links to new structure #### README.md (root) - Updated all documentation links to reflect new structure - Fixed 8 broken links #### app/templates/main/help.html - Enhanced "Where can I get additional help?" section - Added links to new documentation structure - Added documentation index link - Added admin documentation link for administrators - Improved footer with organized documentation links - Added "Complete Documentation" section with role-based links ### New Index Files - Created README.md files for all new directories: - `docs/api/README.md` - `docs/guides/README.md` - `docs/reports/README.md` - `docs/development/README.md` - `docs/admin/README.md` ### Cleanup - Removed empty `docs/security/` directory (moved to `admin/security/`) - Removed empty `docs/telemetry/` directory (moved to `admin/monitoring/`) - Root directory now only contains: README.md, CHANGELOG.md, LICENSE ## Results **Before:** - 45+ markdown files cluttering root directory - Documentation scattered across root and docs/ - Difficult to find relevant documentation - No clear organization structure **After:** - 3 files in root directory (README, CHANGELOG, LICENSE) - Clear directory structure organized by purpose and audience - Easy navigation with role-based organization - All documentation properly categorized - Improved discoverability ## Benefits 1. Better Organization - Documentation grouped by purpose and audience 2. Easier Navigation - Role-based sections (Users, Admins, Developers) 3. Improved Discoverability - Clear structure with README files in each directory 4. Cleaner Root - Only essential files at project root 5. Maintainability - Easier to add and organize new documentation ## Files Changed - 40+ files moved from root to appropriate docs/ subdirectories - 15+ files reorganized within docs/ - 3 major documentation files updated (docs/README.md, README.md, help.html) - 5 new README index files created - 2 empty directories removed All internal links have been updated to reflect the new structure.
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 & Deployment — Get TimeTracker running
- Feature Guides — Learn what TimeTracker can do
- Troubleshooting — Solve common issues
🗺️ 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
- 🚀 Getting Started Guide — Complete beginner tutorial (⭐ Start here!)
- Requirements — System requirements and dependencies
User Guides
- Deployment Guide — How to deploy TimeTracker
- Quick Start Guide — Get started quickly
- Quick Start Local Development — Local development setup
Feature Documentation
- 📋 Complete Features Overview — Comprehensive documentation of all 120+ 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
- Weekly Time Goals — Set and track weekly hour targets
See features/ for additional feature documentation.
🔧 Administrator Documentation
Configuration
- 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
Deployment
- Version Management — Managing versions
- Release Process — Release workflow
- Official Builds — Official build information
Security
- Security Documentation — Security guides and configuration
- See admin/security/ for all security-related documentation
Monitoring
- Monitoring Documentation — Monitoring and analytics setup
- See admin/monitoring/ for telemetry and analytics guides
📖 See admin/README.md for complete administrator documentation
👨💻 Developer Documentation
Getting Started
- Contributing Guidelines — How to contribute to TimeTracker
- Code of Conduct — Community standards
- Project Structure — Codebase organization and architecture
Development Setup
- Local Testing with SQLite — Quick local testing setup
- Local Development with Analytics — Development setup with analytics
Testing
- Testing Quick Reference — Testing overview
- Testing Coverage Guide — Coverage documentation
- See testing/ for additional testing documentation
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
Technical Documentation
- Solution Guide — Technical solutions and patterns
- Database Migrations — Database schema management
- Implementation Notes — Development notes and summaries
📖 See development/README.md for complete developer documentation
📚 API Documentation
- REST API — Complete API reference with all endpoints
- 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
🚀 Installation & Deployment
Quick Start
- Getting Started Guide — Complete beginner tutorial
- Docker Compose Setup — Recommended deployment method
- Requirements — System requirements
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 Connection Troubleshooting — Database connection in Docker
🛠️ 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
- Troubleshooting Transaction Error — Transaction issues
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
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
- 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
For Administrators
- 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
For Developers
- 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
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
├── 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?
- 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 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