Introduction to Your Finance App
Your Finance App is a professional personal finance management application built with modern web technologies. This project serves as both a functional finance tracker and an educational resource for learning full-stack development with TypeScript.What is Your Finance App?
Your Finance App is a backend API application that allows users to:- Track Income and Expenses - Record all financial transactions with detailed information
- Categorize Transactions - Organize your finances with flexible categorization
- Multi-Currency Support - Handle transactions in ARS, USD, and EUR
- Automatic Balance Calculation - View your financial status in real-time
- Advanced Filtering - Filter transactions by date, type, category, and more
- Secure Authentication - JWT-based authentication system
- Data History - Soft delete pattern maintains complete transaction history
This is an educational project designed to teach professional backend development patterns and best practices.
Who is This For?
Ideal for You If:
- You’re learning web development and want to see real-world patterns
- You know JavaScript/TypeScript basics and want to level up
- You want to understand how modern backend applications are structured
- You’re looking for well-documented, production-ready code examples
- You’re interested in learning NestJS, Prisma, or PostgreSQL
No Prior Experience Needed With:
- NestJS - You’ll learn it through this project
- Prisma - Everything is explained step by step
- PostgreSQL - We start from the basics
- Design Patterns - They’re demonstrated in the codebase
Key Features
Financial Management
- Complete CRUD operations for transactions
- Real-time balance calculation across multiple currencies
- Soft delete for maintaining audit trails
- Date-based filtering and reporting
- Category-based transaction organization
Authentication & Security
- JWT-based authentication
- Password hashing with bcrypt
- Protected routes with guards
- User-specific data isolation
- Input validation with DTOs
Developer Experience
- Type-safe database queries with Prisma
- Automatic API documentation with Swagger
- Hot reload in development mode
- ESLint and Prettier for code quality
- Modular architecture for scalability
Technology Stack
Backend Framework
- NestJS - Progressive Node.js framework with TypeScript
- TypeScript - Type safety throughout the application
- Node.js - JavaScript runtime (v18+)
Database & ORM
- PostgreSQL - Robust relational database
- Prisma - Modern ORM with excellent TypeScript support
- Supabase - Hosted PostgreSQL with free tier
Authentication
- Passport JWT - JWT authentication strategy
- bcrypt - Password hashing
- class-validator - DTO validation
Development Tools
What You’ll Learn
Backend Architecture
Learn modular architecture with NestJS, dependency injection, guards, decorators, and exception handling.
Database Design
Master relational schema design, Prisma migrations, model relationships, indexes for performance, and the soft delete pattern.
Security Best Practices
Implement JWT authentication, password hashing, route protection, user authorization, and input validation.
Project Structure
The application follows a monorepo structure:API Capabilities
Authentication Endpoints
Transaction Endpoints
Educational Goals
This project was specifically designed to teach:Clean Architecture
Modular design with clear separation of concerns
Type Safety
End-to-end TypeScript for reliable code
Best Practices
Industry-standard patterns and conventions
Real-World Patterns
Production-ready code organization
Next Steps
Ready to get started? Follow our quickstart guide to get the application running on your local machine.Quickstart Guide
Get Your Finance App running in under 10 minutes
Getting Help
If you encounter any issues or have questions:- Check the detailed documentation in the
/docsfolder - Review the source code comments and examples
- Open an issue on GitHub
- Experiment with the code - that’s the best way to learn!
