</>
// description
A full-stack sports platform that brings venue discovery, court booking, football teams, tournaments, match predictions, and a digital wallet into one connected experience. Members can discover football, basketball, padel, and tennis facilities, manage reservations, build their player identity, and stay involved with their sporting community.
Built as a TypeScript monorepo with a React Native and Expo mobile application, TanStack Start web dashboards, and shared tRPC services. PostgreSQL and Drizzle ORM support bookings, wallet transactions, and competition records; Effect services, centralized permissions, durable events, and operational audit trails organize backend workflows. Arabic and English interfaces, RTL layouts, theme preferences, and push notifications connect the mobile experience with administration and venue operations.
Technology Stack
Frontend
• Mobile: React Native, Expo, Expo Router, TypeScript, NativeWind, React Native Reanimated, and Gesture Handler.
• Web: React, TanStack Start, TanStack Router, Vite, Tailwind CSS, and Leaflet.
• Data & forms: TanStack Query, TanStack Form, tRPC Client, and Zod.
• Mobile integrations: React Native Firebase, Expo Notifications, and Expo Secure Store.
Backend
• Runtime & services: Node.js, TypeScript, tRPC, Effect, and Zod.
• Database: PostgreSQL and Drizzle ORM.
• Authentication & messaging: JOSE, bcryptjs, and Firebase Admin.
• Infrastructure & quality: Docker, Docker Compose, Turborepo, GitLab CI/CD, and Vitest.