Introduction
Welcome to the Mulligans Law technical documentation.
This application helps golf societies manage scores, leaderboards, tournaments, and social interactions built with Flutter.
Key Features
- Offline-First Score Capture: Record scores without internet connectivity
- Real-time Leaderboards: Multiple calculation types (stroke play, stableford, matchplay)
- Tournament Management: Flexible season and tournament structures
- Knockout Competitions: Bracket-based matchplay system
- Social Features: Chat, profiles, and photo sharing
Technology Stack
- Frontend: Flutter (Dart)
- Backend: Supabase (PostgreSQL, Auth, Storage, Realtime)
- Local Database: Drift (SQLite)
- State Management: BLoC pattern
- Architecture: Clean Architecture with offline-first approach
Documentation Structure
This documentation is organized into several sections (coming soon):
- Getting Started: Installation and setup guides
- Architecture: Technical architecture and design patterns
- Features: Feature-specific implementation guides
- API Reference: Repository, use case, and BLoC documentation
- Testing: TDD approach and testing strategies
- Deployment: CI/CD and release processes
Contributing
For contribution guidelines, see the main repository.
Need Help?
- Open an issue on GitHub
- Check the project README in the repository