A modern invoicing platform built with Angular and FastAPI, designed for freelancers and small businesses to manage clients, generate invoices, and track revenue with a clean, responsive UI.
Billora is a full-stack SaaS-style invoicing system where the frontend drives the product experience:
- Dashboard-first UI for revenue tracking
- Mobile-friendly interface
- Real-time interaction with a FastAPI backend
- Seamless invoice creation and PDF export
- Responsive Angular
- Authentication flows (login / signup / logout)
- Protected routes with guards
- Dashboard with revenue overview
- Client management interface
- Invoice builder (dynamic line items UI)
- Invoice status tracking (paid / unpaid)
- PDF invoice download UI trigger
- Clean form validation & UX feedback states
- JWT authentication
- Multi-user data isolation
- Invoice & client CRUD APIs
- PDF generation (ReportLab)
- Revenue analytics endpoints
- PostgreSQL-ready schema
- Angular
- RxJS (state + async handling)
- Angular Router (navigation + guards)
- HTTP Client (API communication)
- FastAPI
- SQLAlchemy
- PostgreSQL
- JWT Auth
Pages (UI Screens)
↓
Components (Reusable UI blocks)
↓
Services (API communication layer)
↓
State Management (Angular Signals)
↓
FastAPI Backend
src/app/
├── core/
│ ├── guards/
│ ├── interceptors/
│ ├── services/
│ └── auth/
├── features/
│ ├── dashboard/
│ ├── invoices/
│ ├── clients/
│ ├── analytics/
├── shared/
│ ├── components/
│ ├── pipes/
│ └── utils/
├── app-routing.module.ts
├── app.module.ts
- Total revenue cards
- Invoice status summary
- Recent activity feed
- Quick actions (Create invoice, Add client)
- Invoice list with filters
- Create/edit invoice form (dynamic line items)
- Status toggles (paid/unpaid)
- Download PDF button(Disabled)
- Client directory
- Add/edit client modal
- Client invoice history
- Revenue charts
- Invoice performance metrics
- Client revenue breakdown
User Action (UI)
↓
Angular Service (HTTP request)
↓
FastAPI Endpoint
↓
Database
↓
Response → UI update (RxJS stream)
- Login screen
- Dashboard overview
- Invoice builder UI
- Client management screen
Billora was built to explore:
- Frontend architecture in Angular
- Building real SaaS UI systems
- Designing scalable component systems
- Connecting frontend workflows to a real backend API
- Turning backend logic into usable product UX
Built by vicciDev