Skip to content

A expense tracker app with expense and income history and ability to add, update, delete options build with ReactJS and ExpressJs.

Notifications You must be signed in to change notification settings

maruffahmed/expense-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expense tracker

Getting Started

This instruction will get you a copy of this project up and running on your local machine

Docker setup 🐳

Run the following docker compose command:

docker compose up

It'll setup necessary environment and run the following servers: An backend will be run at http://localhost:3000 An backend swagger docs will be run at http://localhost:3000/v1/docs And frontend will be run at http://localhost:5173

Manual setup

Prerequisites

You need Node JS (v18.x.x) installed on your local machine.

Installing ⚙️

Run the followning command to install all the packages:

yarn setup

Setup Environment Variable

Set the following environment variable to backend directory. Also, an example file is given with the name of .env.example:

PORT=3000
HOST=http://localhost:3000

DATABASE_URL="postgresql://username:password@localhost:5432/expense_tracker"

JWT_SECRET=thisisasamplesecret
JWT_ACCESS_EXPIRATION_MINUTES=30
JWT_REFRESH_EXPIRATION_DAYS=30
JWT_RESET_PASSWORD_EXPIRATION_MINUTES=10
JWT_VERIFY_EMAIL_EXPIRATION_MINUTES=10

Database Migration 💿

Run the followning command to migrate the prisma schema:

yarn db:migrate

This command also perform seed 🌱 to your database with some preset dataset.

Run 🏃🏻‍♂️

By this command your frontend and backend server will be run concurrently

yarn start

An backend will be run at http://localhost:3000 An backend swagger docs will be run at http://localhost:3000/v1/docs And frontend will be run at http://localhost:5173

Test user credential

Use this credential to log into the test user account

email: [email protected]
password: password123

Built With 🏗️👷🏻

  • NodeJs - Node.js® is an open-source, cross-platform JavaScript runtime environment.
  • ExpressJs - Fast, unopinionated, minimalist web framework for Node.js.
  • Prisma - Next-generation Node.js and TypeScript ORM
  • React - The library for web and native user interfaces
  • Tailwind CSS - A utility-first CSS framework packed with classes
  • Shadcn/ui - Tailwind and RadixUi based component library

Authors

  • Md Maruf Ahmed - Software Engineer

About

A expense tracker app with expense and income history and ability to add, update, delete options build with ReactJS and ExpressJs.

Topics

Resources

Stars

Watchers

Forks