fso/projects

← back to all projects

Splitwise Lite

Parts 4–5 — Testing, Auth, Full Stack Integration

Why This Project

This is your first real full stack app. Splitwise Lite has actual business logic beyond CRUD — you need to calculate who owes whom, handle splits that don't divide evenly, and make sure only group members can see and modify expenses. It's the kind of app where bugs in your math or your auth logic produce visible, wrong results, which makes it perfect for practicing testing.

What to Build

An expense-splitting app. Users create groups (e.g., "Apartment", "Trip to Baguio"), add members to groups, and log expenses within a group. Each expense has a payer and is split among selected members. The app calculates a simplified debt summary: "Kyle owes Maria ₱450" rather than showing every individual transaction. Frontend in React, backend in Express + MongoDB.

Requirements

Skills Practiced

JWT auth bcrypt authorization logic business logic Mongoose populate supertest React Testing Library Playwright full stack integration frontend auth flow

Pain Point to Notice

The balance calculation algorithm is the first time in this roadmap where you have real business logic that's hard to verify by just looking at the screen. You NEED tests for this. Write the balance function, write test cases with known inputs and expected outputs, and run them. If you try to verify the math by manually clicking through the UI, you'll miss edge cases (what if someone paid for themselves? what if the amount doesn't split evenly?). This is where testing stops feeling academic and starts feeling necessary.

Resources