Finance Tracker is a comprehensive financial management application designed to help users track personal finances and manage collaborative financial activities. It's objectives are:
- Provide an organized way to track income and expenses.
- Offer visibility into financial habits through analytics.
- Enable collaborative financial activities (e.g., borrowing and lending money).
| ProCastinators | ||
|---|---|---|
| Role | Name | GitHub |
| Team Leader | Md. Sakib Hossain | sakibhossain323 |
| Member | Shat-El Shahriar Khan | Ashik150 |
| Member | Md. Redwan Bhuiyan Rafio | rafio1020 |
| Mentor | Mahbubur Rahman | mahbub23 |
- Wallet Management
Maintain multiple wallets, track balances, and transfer funds among them. - Category Management
Add, edit or delete categories to track and classify your income and expenses - Income & Expense Tracking
Add, edit or delete transactions (amount, additional note, date/time), link them to with relevant categories and wallets - Analytics & Reports
View category-wise breakdowns and trend charts to understand your income and spending over time. - Loan Management Keep track of borrowing and lending money for non-registered users as well as interactively keep track of loans by leveraging features like loan request, approval, installments etc
- Deployment Model: Monolith Architecture
- Code Organiztion: Clean Architecture
- Design Patterns: Mediator, CQRS, Repository
FinanceTracker.sln
backend/
├── src
│ ├── FinanceTracker.Api/
│ │ └── Controllers/
│ ├── FinanceTracker.Application/
│ │ └── [any-entity]/
│ │ ├── Commands/
│ │ ├── Queries/
│ │ └── Dtos/
│ ├── FinanceTracker.Domain/
│ │ ├── Constants/
│ │ ├── Entities/
│ │ └── Exceptions/
│ └── FinanceTracker.Infrastructure/
│ ├── Persistence/
│ ├── Migrations/
│ └── Repositories/
└── tests/
├── FinanceTracker.Api.Tests/
└── FinanceTracker.Application.Tests/
frontend/
└── finance-tracker/
- Visual Studio 2022 (with ASP.NET and web development workload)
- .NET 8 SDK
- SQL Server
- Node.js (v18.18+)
- Open up the terminal and run the following commands:
git clone https://github.com/Learnathon-By-Geeky-Solutions/procastinators- Run the following commands to open directly from terminal:
cd procastinators
start FinanceTracker.sln- Open
appsettings.Development.jsonfrom FinanceTracker.Api. - Update the connection string according to your database:
"ConnectionStrings": {
"DefaultConnection": // place your connection string here
}- Set FinanceTracker.Api as the startup project.
- Press F5 to run the API (alternatively, click ▶ Start button in the top toolbar)
- Go back to the terminal, navigate to the
frontend/finance-trackerdirectory and install dependencies.
cd frontend/finance-tracker
npm i- Run the following command:
npx auth secretThis will generate a
.env.localfile withAUTH_SECRETenvironment variable in it.
- Set
AUTH_TRUST_HOSTto true - Set
BACKEND_BASE_URLto the URL your API running (along with port number)
- Run the following command to run the Next.js app:
npm run dev- Next.js by default runs on
localhost:3000. but if the default port is changed, update the CORS configuration of FinanceTracker.Api fromappsettings.Development.json
"Cors": {
"AllowedOrigin": // place url here
}- If you encounter fetch error due to self signed certificates, a simple work around for local development is using url with
httpin stead ofhttps(if API is running on https, as https redirection is not enabled for development environment) for theBACKEND_BASE_URLinenv.local
-
Branching Model: Gitflow
-
Commit Message: Conventional Commit Message
-
Detailed Guidelines: @convetions.md


