Logo Lanfrica

Cdasilver29/SaferideAfrica

Domain:

digital infrastructure

Record type:

software
Creator:
Cda
Host:
SafeRide Africa — Expo React Native driving school landing page # Safe Ride Africa — Driving School App Cross-platform application for **Safe Ride Africa Driving School** (Nairobi, Kenya). Built with Expo + React Native, serving iOS, Android, and Web from a single codebase. ## Tech Stack | Layer | Technology | |---|---| | Framework | Expo ~51 / React Native 0.74 | | Routing | Expo Router (file-based) | | Styling | NativeWind 4 + Tailwind CSS 3 | | Backend | Supabase (PostgreSQL, Auth, Edge Functions) | | Payments | M-Pesa Daraja STK Push | | Animations | React Native Reanimated 3 + Skia | | Forms | React Hook Form + Zod | | i18n | i18next (EN, SW, FR, ZH, AR) | | Maps | pigeon-maps (web) / react-native-maps (native) | ## Getting Started ### Prerequisites - Node.js 18+ - Expo CLI: `npm install -g expo-cli` ### Install ```bash npm install ``` ### Environment Copy `.env.example` to `.env` and fill in your keys: ```bash cp .env.example .env ``` Required variables: ``` EXPO_PUBLIC_SUPABASE_URL= EXPO_PUBLIC_SUPABASE_ANON_KEY= MPESA_CONSUMER_KEY= MPESA_CONSUMER_SECRET= MPESA_PASSKEY= MPESA_SHORTCODE= MPESA_CALLBACK_URL= MPESA_CALLBACK_SECRET= ``` ### Run locally ```bash # Web (recommended for development) NODE_TLS_REJECT_UNAUTHORIZED=0 npx expo start --web --port 8081 --offline # iOS simulator npx expo start --ios # Android emulator npx expo start --android ``` Open localhost in your browser. ## Project Structure ``` app/ # Expo Router pages _layout.tsx # Root layout, fonts, auth + modal providers index.tsx # Landing page about.tsx # About Safe Ride courses.tsx # Course catalogue services.tsx # Services overview branches.tsx # Branch map & directory gallery.tsx # Photo gallery blog.tsx # Blog listing login.tsx / register.tsx account/index.tsx # Student dashboard admin/index.tsx # Branch admin panel classes/ # Class browsing & enrolment enrollments/[id]/pay.tsx # M-Pesa payment s …

Languages