In Development

Sports Community Platform

Team management, tournaments, facility booking, real-time messaging.

Elixir/Phoenix Kotlin/Android REST API PostgreSQL

Development Status

Backend API

Phoenix REST API with full tournament logic

Android App

Native Kotlin with Jetpack Compose

iOS App

Native Swift/SwiftUI

Web App

SvelteKit PWA

Architecture

architecture
┌─────────────────────────────────────────────────────────┐
│                        Clients                          │
├─────────────────┬─────────────────┬─────────────────────┤
│   iOS (Swift)   │ Android (Kotlin)│   Web (SvelteKit)   │
└────────┬────────┴────────┬────────┴──────────┬──────────┘
         │                 │                   │
         └─────────────────┴┬──────────────────┘
                            │
                    REST API + WebSocket
                            │
┌───────────────────────────┴─────────────────────────────┐
│                  Elixir/Phoenix Backend                 │
├──────────────────┬──────────────────┬───────────────────┤
│   JSON:API       │  Phoenix Channels│       Oban        │
│   Controllers    │    (Real-time)   │      (Jobs)       │
├──────────────────┴──────────────────┴───────────────────┤
│                     Business Logic                      │
│   Accounts · Teams · Events · Facilities · Bookings     │
├─────────────────────────────────────────────────────────┤
│                         Ecto                            │
└────────────────────────────┬────────────────────────────┘
                             │
        ┌────────────────────┼───────────────────┐
        │                    │                   │
  ┌─────┴──────┐       ┌─────┴─────┐       ┌─────┴──────┐
  │ PostgreSQL │       │  Cachex   │       │ Meilisearch│
  └────────────┘       └───────────┘       └────────────┘

Backend

  • • Phoenix with Ecto for data layer
  • • RESTful API with JSON:API spec
  • • Guardian JWT + Ueberauth OAuth
  • • BodyGuard for authorization policies
  • • Oban for background job processing

Android

  • • Kotlin with Jetpack Compose UI
  • • Retrofit for REST API
  • • Hilt for dependency injection
  • • MVVM architecture pattern
  • • WebSocket client for real-time

Core Features

Team Management

Create teams, invite members, manage roles. Full invitation workflow with accept/decline.

Tournaments

Group stages with round-robin scheduling, single elimination playoffs, seeded brackets with byes.

Facility Booking

Discover sports facilities, view availability slots, book courts and fields with conflict prevention.

Real-time Updates

Live score updates via Phoenix Channels. Presence tracking shows who's viewing an event.

Tournament System

Complete tournament management with group stages, playoffs, and automated bracket generation.

🏟️

Group Stage

Round-robin scheduling with standings calculation (wins, draws, goal difference).

🏆

Playoffs

Single elimination brackets with proper seeding (1v8, 4v5, 2v7, 3v6).

Live Scores

Real-time score updates via Phoenix Channels with presence tracking.

Interested in the Code?

Code demonstration available upon request. Currently in active development with backend and Android complete.