6.0 KiB
6.0 KiB
Documentation Index
Welcome to the My ActivityPub documentation! This index will help you find the information you need.
📚 Documentation Files
Getting Started
- README.md - Project overview, features, and quick start guide
- What is My ActivityPub?
- Features and screenshots
- Tech stack overview
- Quick installation instructions
- 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
- ARCHITECTURE.md - Application architecture and design
- MVVM architecture explained
- Layer responsibilities
- Data flow diagrams
- State management patterns
- Threading model with coroutines
- Testing strategies
- API.md - Mastodon API integration documentation
- API endpoints used
- Request/response examples
- Data models explained
- Error handling
- Rate limiting
- Best practices
- CONTRIBUTING.md - How to contribute to the project
- Code of conduct
- Development workflow
- Coding standards
- Commit message guidelines
- Pull request process
- Testing requirements
Legal
- LICENSE - MIT License
- Copyright information
- Terms and conditions
- Usage rights
🎯 Quick Navigation
I want to...
...understand what this app does
→ Start with README.md
...set up my development environment
→ Follow SETUP.md
...understand the code structure
→ Read ARCHITECTURE.md
...work with the Mastodon API
→ Check API.md
...contribute code
→ Read CONTRIBUTING.md
...build the APK
→ See "Building the Project" in SETUP.md
...fix a bug or add a feature
→ Follow the workflow in CONTRIBUTING.md
📖 Reading Order
For New Developers
- README.md - Get an overview
- SETUP.md - Set up your environment
- ARCHITECTURE.md - Understand the codebase
- API.md - Learn about the API
- CONTRIBUTING.md - Start contributing
For Contributors
- CONTRIBUTING.md - Understand the process
- ARCHITECTURE.md - Learn the architecture
- API.md - API reference as needed
- SETUP.md - Troubleshooting reference
For Users
- README.md - Features and installation
- LICENSE - Usage terms
📝 Additional Resources
Code Documentation
All public APIs are documented with KDoc comments:
/**
* 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<List<Status>>
External Resources
- Android Developers - Official Android documentation
- Kotlin Docs - Kotlin programming language
- Jetpack Compose - Modern UI toolkit
- Mastodon API - API specification
- Material Design 3 - 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:
- Search the docs - Use Ctrl+F to search within documents
- Check existing issues - Someone may have asked already
- Read the code - Code comments provide additional context
- Ask in discussions - Start a conversation
- 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 to preview Markdown files locally with GitHub styling.