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

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: test@gmail.com
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