WorldLen is a modern social networking application built with Expo and React Native.
- Authentication: Secure sign-up/login with Supabase and Google Sign-In.
- Explore: Discover new friends with advanced filtering (location, age, interests).
- Chat: Real-time messaging with read receipts and typing indicators.
- Friends: Manage friend requests and view suggestions.
- Profile: Customizable user profiles with interests, occupation, and location.
- Theming: Dark and light mode support.
- Framework: Expo (React Native)
- Language: TypeScript
- Backend: Supabase (Auth, Database, Realtime)
- State Management: Zustand
- Navigation: Expo Router
- Styling: StyleSheet, Lucide Icons
- Node.js (v18+)
- npm or yarn
- Expo Go app (for mobile testing)
-
Clone the repository:
git clone https://github.com/yourusername/worldlen.git cd worldlen -
Install dependencies:
npm install
-
Set up environment variables:
- Copy
.env.exampleto.env - Fill in your Supabase URL and Anon Key
- Copy
-
Start the development server:
npm run dev
npm run dev: Start development servernpm run android: Run on Android emulator/devicenpm run ios: Run on iOS simulator/devicenpm run typecheck: Run TypeScript checknpm run lint: Run ESLintnpm run format: Format code with Prettiernpm run test: Run tests
app/: Expo Router screens and layoutssrc/components/: Reusable UI componentssrc/services/: API services (Auth, Chat, etc.)src/hooks/: Custom React hookssrc/constants/: App constants (Theme, Strings, etc.)src/contexts/: React Context providerssrc/utils/: Utility functionssrc/types/: TypeScript type definitions
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.