How souravseal99/roommate works
RoomMate is a shared-living app for coordinating household membership, chores, expenses and settlements, shared inventory, shopping lists, and household statistics. The principal workflow is that a roommate uses the React app to manage a household task; frontend API clients communicate with the Express API, whose domain routes dispatch to controllers and services, with Prisma providing database access. The graph preserves the README’s major capabilities and distinguishes expense splitting/settlement and inventory restocking. Source excerpts show selected controller-to-service calls and route mounts; other domain wiring is represented only where the tree and documented structure support it.
Main entry points: routes.ts API routing · App.tsx App shell · api API clients · AuthForm.tsx Sign in
Components 23
Roommate app
- App shell
roommate-app/src/App.tsx - Sign in
roommate-app/src/components/auth/AuthForm.tsx - Households
roommate-app/src/pages/households/Households.tsx - Dashboard
roommate-app/src/pages/dashboard/Dashboard.tsx - Chores
roommate-app/src/pages/chores/Chores.tsx - Expenses
roommate-app/src/pages/expenses/Expenses.tsx - Inventory
roommate-app/src/pages/inventory/Inventory.tsx - API clients
roommate-app/src/api
HTTP API
- API routing
roommate-server/src/routes.ts
Household coordination
- Households
roommate-server/src/households/household.controller.ts - Membership
roommate-server/src/household-members/householdMember.controller.ts - Chore tracking
roommate-server/src/chore/chore.controller.ts - Household stats
roommate-server/src/dashboard/dashboard.controller.ts
Expenses
- Expense tracking
roommate-server/src/expenses/expense.controller.ts - Expense splits
roommate-server/src/expense-split - Settlements
roommate-server/src/expenses/settlement.service.ts
Shared supplies
- Inventory
roommate-server/src/inventory/inventory.controller.ts - Shopping cart
roommate-server/src/shopping-cart/shoppingCart.controller.ts
Identity and data
- Authentication
roommate-server/src/auth/auth.controller.ts - User profiles
roommate-server/src/users/user.controller.ts - Prisma access
roommate-server/src/common/utils/prisma.ts - PostgreSQL
Other components
- Roommate
Connections 27
- Roommate → App shell: uses
- App shell → Sign in: offers
- App shell → Households: offers
- App shell → Dashboard: offers
- App shell → Chores: offers
- App shell → Expenses: offers
- App shell → Inventory: offers
- Sign in → API clients: requests auth
- Households → API clients: requests data
- Dashboard → API clients: requests stats
- Chores → API clients: requests chores
- Expenses → API clients: requests expenses
- Inventory → API clients: requests supplies
- API clients → API routing: HTTP requests
- API routing → Authentication: mounts auth
- API routing → User profiles: mounts users
- API routing → Households: mounts households
- API routing → Membership: mounts membership
- API routing → Chore tracking: mounts chores
- API routing → Household stats: mounts dashboard
- API routing → Expense tracking: mounts expenses
- API routing → Expense splits: mounts splits
- API routing → Inventory: mounts inventory
- API routing → Shopping cart: mounts cart
- Expense tracking → Settlements: calls
- API routing → Prisma access: health query
- Prisma access → PostgreSQL: queries