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, though it probably has many changes in both its code and UI from that tutorial.
Technologies used in this project include:
- React and Next.js
- Tailwind CSS and shadcn/ui
- Clerk for auth
- Hono for API routes
- Tanstack Query for data fetching and interacting with the API
- Postgres DB (in this case Neon serverless)
- Drizzle ORM
- Docker 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.
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:
docker compose up -dInitialize the database by running:
docker compose exec app pnpm db:migrateOpen localhost:3000 in your browser to see the app.
You can also view the database in Drizzle Studio at local.drizzle.studio.
If you want to add some dummy data to the database, you can use the seed script:
docker compose exec app pnpm db:seed