Uniting Leo Clubs, Amplifying Impact.
LeoConnect is the premier social platform dedicated to Leo Club members across Sri Lanka. Built with Kotlin Multiplatform (KMP), it delivers a seamless experience on Android, iOS, and Desktop from a single codebase.
- Kotlin Multiplatform (KMP) - Single codebase for Android, iOS, Desktop
- Jetpack Compose - Modern declarative UI framework
- Material3 - Google's latest design system with dynamic theming
- Voyager - Type-safe navigation
- Kamel - Async image loading
- Koin - Dependency injection
- Haze - Glassmorphism blur effects
- Cloudflare Workers - Serverless edge computing
- D1 Database - SQLite at the edge
- R2 Storage - Object storage for images
- Firebase Auth - Google OAuth authentication
- FCM - Push notifications
- Social Feed - Personalized posts from clubs and Leos you follow
- Post Creation - Share text and images with your community
- Likes & Comments - Engage with posts from others
- Share Posts - Spread inspiring content
- Club Discovery - Find and explore clubs by district
- User Search - Find other Leo members
- District Exploration - Browse all districts and their clubs
- User Profiles - Showcase your Leo journey
- Following System - Follow users and clubs
- Direct Messaging - Private conversations with other Leos
- Push Notifications - Real-time alerts for:
- New followers
- Post likes
- Comments on your posts
- New messages
- Posts from people you follow
- Google OAuth - Secure authentication
- Input Validation - Protected against malicious input
- JWT Verification - Secure API access
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LeoConnect Frontend β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Android β β iOS β β Desktop β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ β
β βββββββββββββββββββΌβββββββββββββββββ β
β Kotlin Multiplatform β
β Jetpack Compose UI β
βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β HTTPS
βββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββ
β Cloudflare Workers (Edge) β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β REST API β β D1 (SQL) β β R2 (Files) β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/auth/google |
POST | β | Authenticate with Google |
/feed |
GET | β | Get home feed |
/posts |
POST | β | Create a post |
/posts/:id/like |
POST | β | Like/unlike a post |
/posts/:id/comments |
GET/POST | β | Get/add comments |
/posts/:id/share |
POST | β | Share a post |
/comments/:id/like |
POST | β | Like/unlike a comment |
/users/:id |
GET | β | Get user profile |
/users/:id/follow |
POST/DELETE | β | Follow/unfollow user |
/clubs |
GET | - | List clubs by district |
/clubs/:id/follow |
POST | β | Follow a club |
/districts |
GET | - | List all districts |
/search |
GET | - | Search users, clubs, posts |
/messages |
GET/POST | β | Messaging |
/notifications |
GET | β | Get notifications |
LeoConnect/
βββ composeApp/
β βββ src/
β βββ commonMain/ # Shared KMP code
β β βββ kotlin/
β β βββ com/rexosphere/leoconnect/
β β βββ data/ # Repositories, APIs
β β βββ domain/ # Models, Use cases
β β βββ presentation/ # Screens, ViewModels
β β βββ di/ # Koin modules
β β βββ ui/theme/ # Material3 theming
β βββ androidMain/ # Android-specific
β βββ iosMain/ # iOS-specific
βββ iosApp/ # iOS app wrapper
βββ assets/ # App icons, resources
LeoConnect_Backend/
βββ src/
β βββ index.ts # Main API routes
β βββ auth.ts # Firebase auth
β βββ models.ts # Data models
β βββ helpers.ts # Utility functions
β βββ notifications.ts # FCM push notifications
βββ migrations/ # D1 database migrations
βββ test/ # Unit tests
- JDK 17+
- Android Studio Hedgehog+ (for Android)
- Xcode 15+ (for iOS)
- Node.js 18+ (for backend)
# Clone the repository
git clone https://github.com/Rexosphere/LeoConnect.git
cd LeoConnect
# Android
./gradlew :composeApp:assembleDebug
# Desktop
./gradlew :composeApp:run
# iOS (requires Mac)
open iosApp/LeoConnect.xcodeprojcd LeoConnect_Backend
npm install
npm run devBreak down geographical barriers. Discover clubs from other districts, follow their activities, and build a network of changemakers.
Share updates, photos, and stories from your service projects. Inspire others with the incredible work happening in the Leo community.
Never miss an event. Get real-time notifications for posts, messages, and follows.
One codebase, three platforms. Enjoy a beautiful, modern experience on Android, iOS, and Desktop.
This project is developed for the AlgoArena Competition by the Leo Club of University of Sri Jayewardenepura.
Rexosphere - Development Team
Built with β€οΈ for the Leo Community







