A full-stack expense sharing application built with FastAPI (Backend) and Next.js (Frontend).
- Group Management: Create groups, invite members using email.
- Expense Tracking: Add expenses, split them equally among group members.
- Settlements: Calculate debts and settle up with friends.
- Interactive Analytics:
- Monthly Spending Trend (Line Chart).
- Top Spenders (Leaderboard).
- Activity Log showing recent transactions.
- Authentication: Secure JWT-based login and registration.
- Backend: Python, FastAPI, SQLAlchemy, SQLite.
- Frontend: TypeScript, Next.js, Tailwind CSS, Shadcn UI, Recharts.
- Python 3.9+
- Node.js 18+
- npm
- Navigate to the root directory.
- Install Python dependencies:
pip install -r requirements.txt
- Run the server:
The backend will start at
uvicorn backend.main:app --reload
http://localhost:8000. API docs available athttp://localhost:8000/docs.
- Navigate to the
frontenddirectory:cd frontend - Install dependencies:
npm install
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser.
- Register/Login to create an account.
- Create a Group from the dashboard.
- Invite Friends by entering their email (Simulation: create multiple accounts to simulate friends).
- Add Expenses inside the group.
- View Analytics to track spending trends.
- Settle Up when debts are paid.
- The database is a local SQLite file (
sql_app_v4.db). - "Analytics Demo 2025" group contains simulated data for demonstration.