Skip to main content

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