SplitZone is a modern React Native application designed for splitting group expenses. Built with Expo and powered by Convex for the backend, it offers a seamless experience for managing shared costs.
- Framework: React Native with Expo (SDK 54)
- Routing: Expo Router (v6) - File-based routing
- Backend & Database: Convex - Real-time backend as a service
- Styling: NativeWind (Tailwind CSS)
- Authentication: Convex Auth
- Icons: Lucide React Native
- Linting & Formatting: Biome, ESLint
Before you begin, ensure you have the following installed:
- Node.js (LTS recommended)
- npm or yarn
- Expo Go app on your mobile device (iOS/Android) or an emulator.
-
Clone the repository:
git clone <repository-url> cd SplitZone
-
Install dependencies:
npm install
-
Setup Convex Backend: Initialize and sync your Convex backend project:
npx convex dev
Follow the prompts to log in and configure your project.
-
Start the development server:
npm start # or npx expo start -
Open the app:
- Mobile: Scan the QR code with the Expo Go app (Android) or Camera app (iOS).
- Emulator: Press
afor Android orifor iOS simulator (requires setup). - Web: Press
wto run in the browser.
SplitZone/
├── app/ # Expo Router file-based routes
│ ├── (authed)/ # Protected routes (Home, Groups, Settings)
│ ├── (public)/ # Public routes (Login, etc.)
│ └── _layout.tsx # Root layout
├── components/ # Reusable UI components
├── convex/ # Backend functions (queries, mutations) and schema
├── assets/ # Images and fonts
├── global.css # Global Tailwind CSS styles
└── package.json # Dependencies and scripts
- User Authentication: Secure login and session management via Convex Auth.
- Group Management: Create new groups or join existing ones using invite codes.
- Real-time Updates: Instant improvements and data syncing powered by Convex.
- Modern UI: Clean and responsive interface built with NativeWind.
- 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
This project is licensed under the MIT License.