Contributing¶

OpenSTR welcomes contributions from hosts, developers, and STR industry folks.
Getting Started¶
- Fork the repository
- Clone your fork locally
- Follow the Quick Start guide to set up your development environment
- Create a feature branch from
main
Repository Structure¶
openstr/
├── api/ # Node.js + Express REST API (TypeScript)
├── admin/ # React + Vite admin panel (TypeScript)
├── mobile_flutter/ # Flutter cleaner app (iOS, Android, Web)
├── shared/ # Shared TypeScript types
├── docker/ # Dockerfiles and nginx config
└── docs/ # Documentation (MkDocs)
Development Workflow¶
API Development¶
Admin Panel Development¶
Mobile App Development¶
Pull Request Guidelines¶
- Keep PRs focused on a single change
- Include tests for new API endpoints
- Update documentation if the change affects user-facing behavior
- Ensure all existing tests pass
Reporting Bugs¶
Open an issue on GitHub with:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Environment details (OS, browser, device)
Feature Requests¶
Open an issue with the enhancement label describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
License¶
By contributing to OpenSTR, you agree that your contributions will be licensed under the GPL-3.0 license.