Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smoke221/fintrack
FinTrack is your go-to backend system for managing personal finances effortlessly. With user-friendly features like budget creation, expense tracking by category, and monthly reports, FinTrack simplifies financial management. Powered by Node.js with Express and Prisma, it ensures security and efficiency. Start tracking your expenses with ease today
https://github.com/smoke221/fintrack
Last synced: 27 days ago
JSON representation
FinTrack is your go-to backend system for managing personal finances effortlessly. With user-friendly features like budget creation, expense tracking by category, and monthly reports, FinTrack simplifies financial management. Powered by Node.js with Express and Prisma, it ensures security and efficiency. Start tracking your expenses with ease today
- Host: GitHub
- URL: https://github.com/smoke221/fintrack
- Owner: Smoke221
- Created: 2024-05-28T06:12:09.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-28T13:17:32.000Z (8 months ago)
- Last Synced: 2024-05-29T01:51:19.910Z (8 months ago)
- Language: JavaScript
- Homepage: https://fintrack-zof9.onrender.com/
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FinTrack
**FinTrack: Your Personal Finance Assistant**
FinTrack is a backend system designed to help you manage your personal finances effortlessly. It includes features like user registration, income and expense tracking, budget creation, monthly financial reports, and category-wise expense tracking.
## Features
- **User Registration and Authentication**: Secure user login and registration.
- **Income and Expense Tracking**: CRUD operations for managing income and expenses.
- **Budget Creation and Tracking**: Set and monitor budgets.
- **Monthly Financial Reports**: Generate detailed reports for better financial insight.
- **Category-wise Expense Tracking**: Track expenses by categories such as groceries, rent, and entertainment.## Technologies Used
- **Node.js** with **Express** for the server.
- **Prisma** for database management.
- **JWT** for user authentication.
- **MySQL** as the database.## Getting Started
### Prerequisites
- Node.js
- npm
- MySQL### Installation
1. Clone the repository:
```sh
git clone https://github.com/Smoke221/FinTrack.git
cd FinTrack
```2. Install dependencies:
```sh
npm install
```3. Set up the database:
- Create a MySQL database.
- Update the `.env` file with your database credentials:
```env
PORT = 3000
DATABASE_URL="mysql://username:password@host:port/database"
JWT_SECRET="your_jwt_secret"
```4. Run Prisma migrations to create the tables:
```sh
npx prisma migrate dev
```5. Generate Prisma client:
```sh
npx prisma generate
```### Running the Server
Start the server:
```sh
node index.js
```
The server will be running on [http://localhost:3000](http://localhost:3000).## API Endpoints
### User Registration and Login:
- `POST /auth/signup`: Register a new user.
- `POST /auth/login`: Login an existing user.### Transactions:
- `GET /transactions`: Get all transactions for the logged-in user.
- `POST /transactions`: Create a new transaction.
- `PUT /transactions/:id`: Update a transaction.
- `DELETE /transactions/:id`: Delete a transaction.### Categories:
- `GET /categories`: Get all categories.
- `POST /categories`: Create a new category.
- `PUT /categories/:id`: Update a category.
- `DELETE /categories/:id`: Delete a category.
- `GET /categories/:id/expenses`: Get all expenses for a specific category.
- `GET /categories/:id/expenses/total`: Get the total expenses for a specific category.### Budgets:
- `GET /budgets`: Get all budgets for the logged-in user.
- `POST /budgets`: Create a new budget.
- `PUT /budgets/:id`: Update a budget.
- `DELETE /budgets/:id`: Delete a budget.### Reports:
- `GET /reports/monthly?month=&year=`: Get a monthly financial report.