https://github.com/bernietv/financial-saas-platform
Next-gen AI finance app rocking the MERN stack & TypeScript β slick analytics, set-and-forget automation, and a UX that just hits different πΈβ‘ππ₯
https://github.com/bernietv/financial-saas-platform
cloudinary expressjs gemini-ai mongodb nodejs reactjs redux-toolkit resend shadcn-ui tailwindcss tanstack-table typescript
Last synced: 3 months ago
JSON representation
Next-gen AI finance app rocking the MERN stack & TypeScript β slick analytics, set-and-forget automation, and a UX that just hits different πΈβ‘ππ₯
- Host: GitHub
- URL: https://github.com/bernietv/financial-saas-platform
- Owner: BernieTv
- License: other
- Created: 2025-08-15T09:45:25.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-15T11:06:00.000Z (11 months ago)
- Last Synced: 2025-08-15T12:07:40.226Z (11 months ago)
- Topics: cloudinary, expressjs, gemini-ai, mongodb, nodejs, reactjs, redux-toolkit, resend, shadcn-ui, tailwindcss, tanstack-table, typescript
- Language: TypeScript
- Homepage: https://finance-saas-platform-gray.vercel.app
- Size: 1.71 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# π Financial SaaS Platform πΉ
> πΈ A professional, AI-powered financial management system built with the MERN stack and TypeScript, designed to deliver robust analytics, automation, and a premium user experience. πβ¨π
---
## π Project Description π
Financial SaaS Platform is a modern, cloud-based personal and business finance management application. It empowers users to track π³ transactions, analyze π spending patterns, automate π recurring payments, and receive π€ AI-assisted insights. The platform combines advanced backend data processing with a sleek, responsive frontend, delivering a seamless experience for individuals and organizations alike. With features like AI-powered receipt scanning π§Ύ, monthly automated reports π
, and rich data visualizations π, it helps users make informed financial decisions with minimal effort.
---
## π Core Features π
- π **Authentication & Security:** Email + Password login, JWT-based authentication with refresh tokens.
- π³ **Transaction Management:** Create, edit, duplicate, bulk delete transactions with ease.
- π€ **AI-Driven Receipt Scanning:** Integrates Google AI to automatically extract transaction data from receipts.
- π **Advanced Analytics:** MongoDB Aggregation Pipelines for real-time, data-rich dashboards.
- π **Data Visualization:** Expense breakdown pie charts, income/expense trend lines, and interactive tables.
- π
**Date Range Filtering:** Customizable ranges, including presets such as last 30 days.
- π **Recurring Transactions:** Automated scheduling via cron jobs.
- π§ **Automated Monthly Reports:** Generated and sent to users via email.
- π₯ **Data Import & Export:** CSV transaction import with column mapping.
- π€ **Profile Management:** Cloudinary-powered profile photo uploads.
---
## π Project Structure π
```
financial-saas/
βββ backend/ # API server built with Node.js, Express, and MongoDB
β βββ src/
β β βββ config/ # Environment, database, and third-party configurations
β β βββ controllers/ # Request handling and response logic
β β βββ cron/ # Scheduled jobs and task scheduling
β β βββ enums/ # Application-wide constants and enumerations
β β βββ mailers/ # Email sending logic and templates
β β βββ middlewares/ # Request validation, error handling, authentication
β β βββ models/ # Mongoose schemas for data persistence
β β βββ routes/ # API endpoint definitions
β β βββ services/ # Business logic and reusable modules
β β βββ utils/ # Utility functions (date helpers, currency formatters, etc.)
β β βββ validators/ # Data validation schemas
β βββ package.json
β βββ tsconfig.json
β
βββ client/ # Web application built with React, TypeScript, and TailwindCSS
β βββ src/
β β βββ app/ # Global state management and API client configuration
β β βββ assets/ # Images, icons, and static media
β β βββ components/ # Reusable UI components and widgets
β β βββ features/ # Redux slices and feature-specific logic
β β βββ hooks/ # Custom React hooks
β β βββ layouts/ # Page layouts for consistent UI structure
β β βββ pages/ # Page-level components
β β βββ routes/ # Route configuration and protected routes
β βββ public/ # Publicly accessible static files
β βββ package.json
β βββ vite.config.ts
```
---
## π§ Backend Environment Variables βοΈ
```env
PORT="*"
NODE_ENV="*"
MONGO_URI="*"
JWT_SECRET="*"
JWT_EXPIRES_IN="*"
JWT_REFRESH_SECRET="*"
JWT_REFRESH_EXPIRES_IN="*"
GEMINI_API_KEY="*"
CLOUDINARY_CLOUD_NAME="*"
CLOUDINARY_API_KEY="*"
CLOUDINARY_API_SECRET="*"
RESEND_API_KEY="*"
RESEND_MAILER_SENDER="*"
FRONTEND_ORIGIN="*"
```
## π¨ Frontend Environment Variables π―
```env
VITE_API_URL="*"
VITE_REDUX_PERSIST_SECRET_KEY="*"
```
---
## π οΈ Technology Stack π§©
**Frontend:**
- βοΈ React 18 for building a performant, component-driven UI.
- π TypeScript for type-safe, maintainable codebases.
- π¨ TailwindCSS for utility-first, responsive styling.
- ποΈ Shadcn UI for accessible, production-ready UI components.
- π¦ Redux Toolkit for state management and API data caching.
- π @tanstack/react-table for advanced, customizable, and performant data tables.
**Backend:**
- π© Node.js (v18+) for scalable, event-driven server logic.
- π οΈ Express.js for structured and maintainable RESTful APIs.
- π TypeScript for backend code consistency and safety.
- π MongoDB with Mongoose for flexible, schema-based data persistence.
- π JSON Web Tokens (JWT) for secure authentication.
- β²οΈ Node-cron for task automation.
**AI & Cloud Integrations:**
- π€ Google Gemini API for intelligent document parsing and data extraction.
- βοΈ Cloudinary for optimized media storage and delivery.
- π§ Resend for transactional and automated email services.
---
## π¦ Installation π₯
```bash
git clone https://github.com/BernieTv/Financial-SAAS-Platform.git
cd Financial-SAAS-Platform
# Install backend dependencies
cd backend && npm install
# Install frontend dependencies
cd ../client && npm install
```
---
## βΆοΈ Running Locally π»
```bash
# Start backend
cd backend && npm run dev
# Start frontend
cd ../client && npm run dev
```
> β οΈ Ensure `.env` files are correctly configured before running.