Money Keeper Server built with NestJS and TypeORM. It helps you track your personal or business finances by managing income and expense transactions. The application provides a modular structure with clean code, making it easy to maintain and extend.
- Transaction Management:
Add, update, and delete transactions. - Categorization:
Organize transactions by categories (income, expense, etc.). - Account Management:
Support multiple accounts and account types with balance tracking. - Reporting:
View account balances and generate basic financial reports. - Configuration:
Environment configuration is managed with.envfiles and validated using Joi.
- NestJS:
A framework for building efficient, scalable Node.js server-side applications. - TypeORM:
An ORM (Object-Relational Mapper) that simplifies database operations in NestJS. - PostgreSQL:
A powerful open-source relational database used to store application data. - Joi:
A library used to validate environment variables and ensure correct configuration. - @nestjs/config:
A module to load and manage environment variables in a NestJS application. - class-validator:
Provides declarative validation in your DTOs and entities.
-
Clone the repository:
git clone https://github.com/duc30012001/money-keeper-server.git cd money-keeper-server -
Install dependencies:
yarn install
-
Setup Environment Variables:
Copy the
.env.examplefile to.envand adjust values as needed.cp .env.example .env
-
Build and Run Docker:
docker compose -f docker-compose.yml up --build -d
Once the server is up and running, you can access it through your configured endpoint. You can interact with the API to add, update, and delete transactions, view account balances, and generate reports.