Skip to content

perashanid/financial-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Financial Ledger SaaS

A comprehensive financial management platform for individuals and businesses to track transactions, manage savings goals, handle loans, split bills, and more.

🎯 Project Overview

This is a full-stack SaaS application built with:

  • Backend: Node.js, Express, TypeScript, MongoDB, Redis
  • Frontend: React, TypeScript, Vite, TailwindCSS (in development)
  • Features: Transaction tracking, savings automation, loan management, bill splitting, crowdfunding, analytics, and more

πŸ“Š Current Status

Backend: ~85% Complete βœ…

  • βœ… Authentication & Authorization (JWT, 2FA)
  • βœ… User Management
  • βœ… Transaction Ledger with Receipt Upload
  • βœ… Category Management (18 default categories)
  • βœ… Savings Goals with Auto-save Rules
  • βœ… Loan Management with Interest Calculations
  • βœ… Bill Sharing & Group Ledger
  • βœ… Analytics & Predictions with Caching
  • βœ… Payment Gateway Base (bKash, Nagad, SSLCommerz)
  • βœ… Crowdfunding Platform
  • βœ… CSV/PDF Export
  • βœ… Admin Dashboard
  • βœ… Activity Logging & Security
  • ⏳ Email/SMS Notifications (partial)

Frontend: 0% Complete ⏳

  • All UI components need to be built
  • Design system to be implemented
  • Responsive layouts to be created

πŸš€ Quick Start

Prerequisites

  • Node.js v18+
  • MongoDB v6+
  • Redis v7+
  • Cloudinary account

Installation

# Clone the repository
git clone <repository-url>
cd financial-ledger-saas

# Backend setup
cd backend
npm install
cp .env.example .env
# Edit .env with your configuration
npm run dev

# Frontend setup (coming soon)
cd frontend
npm install
npm run dev

For detailed setup instructions, see QUICK_START.md

πŸ“š Documentation

✨ Key Features

For Users

  • πŸ’° Transaction Management: Track income and expenses with receipt uploads
  • 🎯 Savings Goals: Set goals with automated savings rules
  • πŸ’³ Loan Tracking: Manage borrowed/lent money with interest calculations
  • πŸ‘₯ Bill Splitting: Share expenses with groups and track settlements
  • πŸ“Š Analytics: Visualize spending patterns and get predictions
  • 🌍 Multi-language: Support for English and Bangla
  • πŸ’± Multi-currency: Support for BDT and other currencies
  • πŸ“± Payment Integration: bKash, Nagad, SSLCommerz support
  • πŸŽ—οΈ Crowdfunding: Create and contribute to campaigns

For Admins

  • πŸ‘€ User Management: View, manage, and moderate users
  • πŸ“ˆ Platform Analytics: Track growth and usage metrics
  • πŸ›‘οΈ Moderation Tools: Review and approve campaigns
  • πŸ“‹ Activity Logs: Audit trail of all actions
  • πŸ”’ Security Controls: Manage roles and permissions

πŸ—οΈ Architecture

financial-ledger-saas/
β”œβ”€β”€ backend/                 # Node.js + Express + TypeScript
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ config/         # Configuration files
β”‚   β”‚   β”œβ”€β”€ controllers/    # Request handlers
β”‚   β”‚   β”œβ”€β”€ middleware/     # Express middleware
β”‚   β”‚   β”œβ”€β”€ models/         # Mongoose schemas
β”‚   β”‚   β”œβ”€β”€ services/       # Business logic
β”‚   β”‚   β”œβ”€β”€ routes/         # API routes
β”‚   β”‚   β”œβ”€β”€ jobs/           # Cron jobs
β”‚   β”‚   └── utils/          # Utilities
β”‚   └── README.md
β”œβ”€β”€ frontend/               # React + TypeScript + Vite (in development)
β”‚   └── src/
β”œβ”€β”€ .kiro/                  # Project specifications
β”‚   └── specs/
β”‚       └── financial-ledger-saas/
β”‚           β”œβ”€β”€ requirements.md
β”‚           β”œβ”€β”€ design.md
β”‚           └── tasks.md
└── README.md

πŸ” Security Features

  • JWT authentication with refresh tokens
  • Two-factor authentication (TOTP)
  • Password hashing with bcrypt
  • Rate limiting (100 requests per 15 minutes)
  • Helmet security headers
  • CORS configuration
  • Input sanitization
  • Activity logging with 90-day retention
  • Role-based access control

πŸ“Š API Endpoints

80+ endpoints covering:

  • Authentication & User Management
  • Transactions & Categories
  • Savings & Loans
  • Groups & Bill Splitting
  • Analytics & Predictions
  • Payments & Campaigns
  • Reports & Export
  • Admin Operations

See Backend README for complete API documentation.

πŸ§ͺ Testing

cd backend
npm test                    # Run all tests
npm run test:watch         # Watch mode
npm test -- --coverage     # With coverage

πŸ› οΈ Tech Stack

Backend

  • Runtime: Node.js 18+
  • Framework: Express.js
  • Language: TypeScript
  • Database: MongoDB with Mongoose
  • Cache: Redis
  • Storage: Cloudinary
  • Authentication: JWT + bcrypt
  • 2FA: Speakeasy + QRCode
  • Scheduling: node-cron
  • Logging: Winston
  • PDF: PDFKit
  • Security: Helmet, express-rate-limit

Frontend (Planned)

  • Framework: React 18
  • Language: TypeScript
  • Build Tool: Vite
  • Styling: TailwindCSS
  • State Management: React Context / Redux
  • Charts: Recharts / Chart.js
  • Forms: React Hook Form
  • HTTP Client: Axios

πŸ“… Roadmap

Phase 1: Backend (Current) - 85% Complete

  • Core API development
  • Authentication & security
  • All major features
  • Payment gateway integrations
  • Email/SMS notifications
  • Comprehensive testing

Phase 2: Frontend - Not Started

  • UI/UX design system
  • Authentication pages
  • Dashboard & analytics
  • Transaction management
  • All feature pages
  • Responsive design
  • Accessibility

Phase 3: Testing & Optimization

  • Unit tests
  • Integration tests
  • E2E tests
  • Performance optimization
  • Security audit

Phase 4: Deployment

  • CI/CD pipeline
  • Production deployment
  • Monitoring & logging
  • Documentation
  • Launch

🀝 Contributing

This is a personal project, but suggestions and feedback are welcome!

πŸ“„ License

MIT License - see LICENSE file for details


Note: This project is under active development. The backend is production-ready, but the frontend is still in planning phase.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages