Skip to content

sofiaashaikh/zorvyn-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zorvyn FinTech - Backend Screening Assignment

Author: Sofia

Role: Backend Developer Intern Application

Overview

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.

Tech Stack

  • 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)

Architectural Decisions

  1. Layered Architecture: The codebase is strictly divided into routes, controllers, and services/models. This Separation of Concerns ensures business logic is decoupled from the HTTP transport layer.
  2. 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.
  3. 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.
  4. Dynamic Filtering: The GET /api/records endpoint supports query parameters to filter transactions by date range, category, and type.

Setup & Installation

  1. Clone or extract the repository.
  2. Install dependencies:
    npm install

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors