https://github.com/omermakesstuff/finance-thing
A finance platform that allows you to track your income and expenses, built with Next.js.
https://github.com/omermakesstuff/finance-thing
clerk clerk-auth docker-compose drizzle-orm hono nextjs postgres postgresql react react-query reactjs shadcn-ui tanstack-react-query
Last synced: 3 months ago
JSON representation
A finance platform that allows you to track your income and expenses, built with Next.js.
- Host: GitHub
- URL: https://github.com/omermakesstuff/finance-thing
- Owner: OmerMakesStuff
- Created: 2024-06-25T15:07:53.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-16T16:58:59.000Z (almost 2 years ago)
- Last Synced: 2025-06-04T03:57:02.495Z (about 1 year ago)
- Topics: clerk, clerk-auth, docker-compose, drizzle-orm, hono, nextjs, postgres, postgresql, react, react-query, reactjs, shadcn-ui, tanstack-react-query
- Language: TypeScript
- Homepage: https://finance-thing.vercel.app
- Size: 505 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Finance thing
This is a finance platform that allows you to track your income and expenses, by adding transactions (manually or by importing them from a CSV file) and assigning them to specific accounts and categories. It was created by following [this tutorial](https://youtu.be/N_uNKAus0II?si=DT2WyV3Ni6G1uE_R), though it probably has many changes in both its code and UI from that tutorial.
Technologies used in this project include:
- [React](https://react.dev/) and [Next.js](https://nextjs.org/)
- [Tailwind CSS](https://tailwindcss.com/) and [shadcn/ui](https://ui.shadcn.com/)
- [Clerk](https://clerk.com/) for auth
- [Hono](https://hono.dev/) for API routes
- [Tanstack Query](https://tanstack.com/query/latest) for data fetching and interacting with the API
- [Postgres](https://www.postgresql.org/) DB (in this case [Neon serverless](https://neon.tech/))
- [Drizzle ORM](https://orm.drizzle.team/)
- [Docker](https://www.docker.com/) compose in local development (run both the app itself and Drizzle studio)
**This project exists purely for my own learning purposes. I have no plans to develop it any further.**
## Getting Started
First, copy the contents of .env.example into a new .env file, and fill in any empty variables.
Once you've done that, run the development server and Drizzle studio with Docker Compose:
```bash
docker compose up -d
```
Initialize the database by running:
```bash
docker compose exec app pnpm db:migrate
```
Open [localhost:3000](http://localhost:3000) in your browser to see the app. \
You can also view the database in Drizzle Studio at [local.drizzle.studio](https://local.drizzle.studio/).
If you want to add some dummy data to the database, you can use the seed script:
```bash
docker compose exec app pnpm db:seed
```