Author: Sofia
Role: Backend Developer Intern Application
This is a robust, production-ready REST API built for a Finance Dashboard system. It implements Role-Based Access Control (RBAC), strict data validation, and aggregated financial analytics.
- Runtime: Node.js
- Framework: Express.js
- Database: SQLite (Chosen for seamless local testing without requiring external DB installation)
- ORM: Sequelize (Ensures data integrity and prevents SQL Injection)
- Validation: Joi (Schema-based request payload validation)
- Layered Architecture: The codebase is strictly divided into
routes,controllers, andservices/models. This Separation of Concerns ensures business logic is decoupled from the HTTP transport layer. - Role-Based Access Control (RBAC): Implemented a custom middleware (
auth.js) to protect routes. It dynamically checks headers to ensure only authorized roles (Admin, Analyst, Viewer) can perform specific actions. - Data Integrity: Used a relational database model. In FinTech, data constraints and ACID compliance are non-negotiable. I utilized Sequelize to demonstrate how I handle production-grade modeling, including positive-value constraints on financial entries.
- Dynamic Filtering: The
GET /api/recordsendpoint supports query parameters to filter transactions by date range, category, and type.
- Clone or extract the repository.
- Install dependencies:
npm install