Back to Projects
Full Stack / Fintech

Unicash

A complete personal finance ecosystem featuring a user dashboard for tracking income/expenses and a dedicated admin console for system management.

React 19Node.jsMongoDBExpressJWTVite
Unicash

Product UI Preview

Project Overview

Unicash is a robust full-stack web application designed for personal finance tracking. Unlike simple scripts, this is a complete ecosystem split into three distinct applications: a REST API backend, a client-facing dashboard, and a separate admin administration portal. Users can securely log in via OTP/2FA to track income, expenses, and savings, while visualizing their financial health through interactive analytics and trend charts.

Key Features

5 items

Feature 01

Three-App Architecture: Separated Client, Admin, and API services

Feature 02

Secure Auth: Multi-step registration with Email OTP & optional TOTP 2FA

Feature 03

Financial Analytics: Overview charts, expense distribution, and period-over-period insights

Feature 04

Admin Portal: User management, global site settings, and maintenance mode controls

Feature 05

Maintenance System: Real-time API blocking and maintenance screens for end-users

Tech Stack

Focus: React 19
React 19Node.jsMongoDBExpressJWTVite

Frontend

React 19, React Router, Vite, Axios, Lucide Icons

Backend

Node.js (ESM), Express, Mongoose, Nodemailer

Security

JWT, Bcryptjs, Helmet, Zod Validation, OTP/TOTP

Database

MongoDB

Challenges & Solutions

Problem / Solution

Challenge

A major technical challenge was architecting the security and maintenance flow across three separate apps.

Solution

I implemented a robust middleware system in the Node.js API that handles typed JWTs (access, registration, 2FA) and enforces a global 'Maintenance Mode' that blocks non-admin API traffic while signaling the React client to display a maintenance overlay.