# Documentation Index Welcome to the My ActivityPub documentation! This index will help you find the information you need. ## 📚 Documentation Files ### Getting Started 1. **[README.md](../README.md)** - Project overview, features, and quick start guide - What is My ActivityPub? - Features and screenshots - Tech stack overview - Quick installation instructions 2. **[FEATURES.md](FEATURES.md)** - Detailed feature documentation - Pull-to-refresh functionality - Automatic timeline updates - Interactive links and hashtags - Timeline features - Post interactions - Authentication features - Technical architecture 3. **[SETUP.md](SETUP.md)** - Complete development environment setup - Prerequisites and required software - Step-by-step project setup - Building and running the app - Troubleshooting common issues - IDE configuration tips ### Development 4. **[ARCHITECTURE.md](ARCHITECTURE.md)** - Application architecture and design - MVVM architecture explained - Layer responsibilities - Data flow diagrams - State management patterns - Threading model with coroutines - Testing strategies 5. **[API.md](API.md)** - Mastodon API integration documentation - API endpoints used - Request/response examples - Data models explained - Error handling - Rate limiting - Best practices 6. **[CONTRIBUTING.md](../CONTRIBUTING.md)** - How to contribute to the project - Code of conduct - Development workflow - Coding standards - Commit message guidelines - Pull request process - Testing requirements ### Legal 7. **[LICENSE](../LICENSE)** - MIT License - Copyright information - Terms and conditions - Usage rights ## 🎯 Quick Navigation ### I want to... #### ...understand what this app does → Start with [README.md](../README.md) #### ...learn about app features → Read [FEATURES.md](FEATURES.md) #### ...set up my development environment → Follow [SETUP.md](SETUP.md) #### ...understand the code structure → Read [ARCHITECTURE.md](ARCHITECTURE.md) #### ...work with the Mastodon API → Check [API.md](API.md) #### ...contribute code → Read [CONTRIBUTING.md](../CONTRIBUTING.md) #### ...build the APK → See "Building the Project" in [SETUP.md](SETUP.md) #### ...fix a bug or add a feature → Follow the workflow in [CONTRIBUTING.md](../CONTRIBUTING.md) ## 📖 Reading Order ### For New Developers 1. **README.md** - Get an overview 2. **FEATURES.md** - Understand the features 3. **SETUP.md** - Set up your environment 4. **ARCHITECTURE.md** - Understand the codebase 5. **API.md** - Learn about the API 6. **CONTRIBUTING.md** - Start contributing ### For Contributors 1. **CONTRIBUTING.md** - Understand the process 2. **ARCHITECTURE.md** - Learn the architecture 3. **API.md** - API reference as needed 4. **SETUP.md** - Troubleshooting reference ### For Users 1. **README.md** - Features and installation 2. **FEATURES.md** - Detailed feature guide 2. **LICENSE** - Usage terms ## 📝 Additional Resources ### Code Documentation All public APIs are documented with KDoc comments: ```kotlin /** * Loads the public timeline from the Mastodon instance * * @param limit Maximum number of statuses to fetch * @param local Show only local statuses if true * @return Result containing list of statuses or error */ suspend fun getPublicTimeline(limit: Int, local: Boolean): Result> ``` ### External Resources - **[Android Developers](https://developer.android.com/)** - Official Android documentation - **[Kotlin Docs](https://kotlinlang.org/docs/home.html)** - Kotlin programming language - **[Jetpack Compose](https://developer.android.com/jetpack/compose)** - Modern UI toolkit - **[Mastodon API](https://docs.joinmastodon.org/api/)** - API specification - **[Material Design 3](https://m3.material.io/)** - Design system ## 🔍 Document Summaries ### README.md - **Purpose**: Project introduction and quick start - **Audience**: Everyone - **Length**: Comprehensive overview - **Key Sections**: Features, tech stack, building, configuration ### SETUP.md - **Purpose**: Development environment setup - **Audience**: Developers setting up for the first time - **Length**: Detailed step-by-step guide - **Key Sections**: Prerequisites, setup steps, troubleshooting ### ARCHITECTURE.md - **Purpose**: Explain code organization and patterns - **Audience**: Developers who want to understand or modify the codebase - **Length**: In-depth technical documentation - **Key Sections**: MVVM layers, data flow, state management ### API.md - **Purpose**: Document Mastodon API integration - **Audience**: Developers working with API calls - **Length**: Comprehensive API reference - **Key Sections**: Endpoints, data models, error handling ### CONTRIBUTING.md - **Purpose**: Guide for project contributors - **Audience**: Anyone who wants to contribute - **Length**: Complete contribution guide - **Key Sections**: Coding standards, commit guidelines, PR process ## 📋 Checklist for New Developers Before starting development, make sure you've: - [ ] Read the README.md - [ ] Followed SETUP.md to set up your environment - [ ] Successfully built and run the app - [ ] Reviewed ARCHITECTURE.md to understand the code structure - [ ] Read CONTRIBUTING.md to understand the workflow - [ ] Familiarized yourself with the API.md for API details ## 🤝 Getting Help If you can't find what you're looking for: 1. **Search the docs** - Use Ctrl+F to search within documents 2. **Check existing issues** - Someone may have asked already 3. **Read the code** - Code comments provide additional context 4. **Ask in discussions** - Start a conversation 5. **Open an issue** - For bugs or documentation gaps ## 📊 Documentation Status | Document | Status | Last Updated | |----------|--------|--------------| | README.md | ✅ Complete | 2026-01-24 | | SETUP.md | ✅ Complete | 2026-01-24 | | ARCHITECTURE.md | ✅ Complete | 2026-01-24 | | API.md | ✅ Complete | 2026-01-24 | | CONTRIBUTING.md | ✅ Complete | 2026-01-24 | | LICENSE | ✅ Complete | 2026-01-24 | ## 🔄 Keeping Documentation Updated Documentation should be updated when: - New features are added - Architecture changes - API integration changes - Build process changes - New dependencies are added Contributors: Please update relevant docs with your changes! --- **Note**: All documentation is written in English to ensure accessibility for the global developer community. **Tip**: You can use tools like [Grip](https://github.com/joeyespo/grip) to preview Markdown files locally with GitHub styling.