Hosted demo link - https://sesdproject.vercel.app/
ClaimFlow is a backend system that manages employee expense reimbursements using rule-based approval workflows.
The system routes expense claims (Travel, Food, Medical) through dynamic approval chains based on business logic such as amount, type, and validation requirements.
The goal is to demonstrate strong backend architecture using:
- OOP Principles
- Design Patterns (Factory, Chain of Responsibility, State)
- Clean 3-tier Architecture
- Role-Based Access Control (RBAC)
-
Employee
- Create draft expenses
- Submit expense claims
- View status of claims
-
Manager
- Approve/Reject expenses
- View team expenses
-
Finance Admin
- Final approval for high-value claims
- Mark approved expenses as paid
- View financial reports
- Food Expense
- Travel Expense
- Medical Expense
Each expense type implements its own validation rules.
Approval rules:
- Amount < ₹1500 → Auto Approved
- Amount < ₹5000 → Manager Approval
- Amount ≥ ₹10000 → Manager → Finance Approval
Expense lifecycle:
DRAFT → SUBMITTED → APPROVED → PAID
↘ REJECTED
Invalid state transitions are not allowed.
Every action (Submit, Approve, Reject, Pay) is stored in AuditLogs.
Clean separation of:
- Controllers (HTTP Layer)
- Services (Business Logic)
- Repositories (Database Layer)
- Domain Models (OOP Logic)
- Approval Handlers
- State Management
Build an enterprise-style backend system that demonstrates:
- Scalable architecture
- Clean code practices
- Professional design patterns
- Business rule enforcement