Giter Site home page Giter Site logo

smoke221 / fintrack Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 30 KB

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

Home Page: https://fintrack-zof9.onrender.com/

JavaScript 100.00%

fintrack's Introduction

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:

    git clone https://github.com/Smoke221/FinTrack.git
    cd FinTrack
  2. Install dependencies:

    npm install
  3. Set up the database:

    • Create a MySQL database.
    • Update the .env file with your database credentials:
      PORT = 3000
      DATABASE_URL="mysql://username:password@host:port/database"
      JWT_SECRET="your_jwt_secret"
  4. Run Prisma migrations to create the tables:

    npx prisma migrate dev
  5. Generate Prisma client:

    npx prisma generate

Running the Server

Start the server:

node index.js

The server will be running on 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.

fintrack's People

Contributors

smoke221 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.