A modern, high-performance full-stack mobile social media platform built with React Native, Expo, and TypeScript. This application demonstrates seamless user authentication, image storage optimizations, and real-time database CRUD architectures powered by a serverless Supabase backend.
- User Authentication: Secure user sign-up, sign-in, and session persistence via Supabase Auth.
- Dynamic Feed System: View, upload, and update media posts with structured text descriptions.
- Cloud Storage Bucket Integration: Optimized image uploads and file hosting leveraging Supabase Storage.
- Instant Feed Refresh: Robust database querying to instantly sync, replace, and update post timelines.
- Strict Type Safety: Complete compile-time type-safety across components, state variables, and backend client configurations.
src/
├── app/ # Expo Router pages, navigation stacks, and route configurations
├── components/ # Reusable presentation layout UI blocks (PostCard, CustomButton)
├── hooks/ # Custom React hooks managing auth and image pickers
├── lib/
│ └── supabase.ts # Supabase Client initialization and token setup
└── styles/ # Tailwind CSS (NativeWind) or shared global stylesheets
- Frontend Framework: React Native (Expo SDK 57)
- Language Layer: TypeScript
- Backend-as-a-Service: Supabase (PostgreSQL Database & Client Engine)
- Media Storage: Supabase Storage Buckets
- Navigation Architecture: Expo Router
Follow these steps to spin up the local development engine:
git clone https://github.com
cd YOUR_REPOSITORY_NAMEnpm installCreate a file named exactly .env in the root folder and add your credentials:
EXPO_PUBLIC_SUPABASE_URL=your_supabase_project_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keyLaunch the Metro development platform server:
npx expo startPress a to load on your connected Android device or Emulator via USB debugging.
This project is open-source and available under the MIT License.