SpendGuard is a clean, minimal personal finance management application. It features a compact, professional SaaS interface alongside robust financial tracking, automated reports, and intelligent data analysis.
SpendGuard is built as a modular full-stack application, providing a seamless bridge between a secure Node.js RESTful API and a modern Next.js frontend.
- Interactive Analytics: Visualize your spending trends with high-fidelity charts and category-wise breakdowns.
- Secure Authentication: JWT-based security with persistent sessions and protected dashboard routing.
- Subscription Intelligence: Automatically detect and track recurring subscriptions with pattern recognition.
- Automated Reporting: Receive weekly and monthly financial summaries directly in your inbox.
- CSV Bulk Import: Batch process 1000+ transactions with intelligent auto-categorization.
- Responsive Design: Fully optimized experience across mobile, tablet, and desktop with a clean, content-focused UI.
The project is organized into two primary micro-modules:
| Component | Responsibility | Technology |
|---|---|---|
| Frontend | User Interface & Experience | Next.js 14, Tailwind CSS |
| Backend | Business Logic & API Layer | Node.js, Express, PostgreSQL |
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS 4.x
- Icons: Lucide React
- State Management: Zustand (Persistent Auth Store)
- Charts: Recharts
- Server: Express.js with TypeScript
- Database: PostgreSQL 17
- Auth: JSON Web Tokens (JWT) & Bcrypt
- Automation: Node-Cron for scheduled reports
- Email: Nodemailer with SMTP integration
- Node.js 18+
- PostgreSQL 17 (Running on port 5433 by default)
-
Clone the repository
git clone https://github.com/rid-coder-70/spendx.git cd spendx -
Setup Backend Follow the Backend Setup Guide to initialize the database and start the server.
-
Setup Frontend Follow the Frontend Setup Guide to install dependencies and start the dashboard.
For detailed information on specific modules, refer to our comprehensive documentation:
This project was developed over 8 weeks. Detailed summaries of each phase can be found in the docs/ directory:
Distributed under the MIT License. See LICENSE for more information.
Developed with ❤️ by Ridoy Baidya
