ShareMoney is an app to track balances for money used for shared purposes like Splitwise. It helps you split bills, track shared expenses, and manage balances between friends, roommates, or any group sharing costs.
-
Install dependencies:
npm install
This project uses npm workspaces, so a single
npm installinstalls dependencies for all workspaces (root and mobile). -
Set up environment variables:
-
Start local Supabase:
supabase start
-
Run the app:
# Terminal 1 - Supabase Edge Functions (local) npm run dev:server # Functions available at http://localhost:54321/functions/v1/ # Terminal 2 - Mobile npm run dev:mobile
Note: Make sure local Supabase is running (
supabase start) before starting the Edge Functions server.
The supabase/seed.sql file automatically runs when you reset your database:
npx supabase db reset --localThis creates:
- 4 test users ([email protected], [email protected], [email protected], [email protected])
- Password for all:
testpassword123
- Password for all:
- 2 test groups with members
- 5 transactions with expense splits
- 2 settlements between users
Note: You may see a 502 error at the end - this is harmless. The seed data is inserted successfully. The error is a timing issue with container health checks during restart.
The seed can be run repeatedly - it uses ON CONFLICT DO NOTHING to safely re-run without duplicates.
- TECH.md - Complete technical documentation, setup, deployment, and troubleshooting
- mobile/EXPO_PUBLISH.md - Expo publishing and EAS build guide
- Supabase migrations:
supabase/migrations/ - GitHub Actions:
.github/workflows/