https://github.com/mrmarufpro/expense-tracker
A expense tracker app with expense and income history and ability to add, update, delete options build with ReactJS and ExpressJs.
https://github.com/mrmarufpro/expense-tracker
docker docker-compose expressjs javascript nodejs postgresql react-query reactjs tailwindcss typescript
Last synced: 3 months ago
JSON representation
A expense tracker app with expense and income history and ability to add, update, delete options build with ReactJS and ExpressJs.
- Host: GitHub
- URL: https://github.com/mrmarufpro/expense-tracker
- Owner: maruffahmed
- Created: 2024-01-03T20:02:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-20T21:34:15.000Z (over 2 years ago)
- Last Synced: 2025-01-22T09:49:11.295Z (over 1 year ago)
- Topics: docker, docker-compose, expressjs, javascript, nodejs, postgresql, react-query, reactjs, tailwindcss, typescript
- Language: TypeScript
- Homepage:
- Size: 334 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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:
```sh
docker compose up
```
It'll setup necessary environment and run the following servers:
An backend will be run at
An backend swagger docs will be run at
And frontend will be run at
## Manual setup
### Prerequisites
You need [Node JS](https://nodejs.org) (v18.x.x) installed on your local machine.
### Installing âïž
Run the followning command to install all the packages:
```sh
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`:
```sh
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:
```sh
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
```sh
yarn start
```
An backend will be run at
An backend swagger docs will be run at
And frontend will be run at
#### Test user credential
Use this credential to log into the test user account
```sh
email: test@gmail.com
password: password123
```
## Built With ðïžð·ð»
- [NodeJs](https://nodejs.org/en/) - Node.js® is an open-source, cross-platform JavaScript runtime environment.
- [ExpressJs](https://expressjs.com) - Fast, unopinionated, minimalist web framework for Node.js.
- [Prisma](https://nestjs.com/) - Next-generation Node.js and TypeScript ORM
- [React](https://react.dev) - The library for web and native user interfaces
- [Tailwind CSS](https://tailwindcss.com/) - A utility-first CSS framework packed with classes
- [Shadcn/ui](https://ui.shadcn.com) - Tailwind and RadixUi based component library
## Authors
- **Md Maruf Ahmed** - _Software Engineer_