A budget tracking and accounting platform aimed at businesses and casual users.
nextjs: v14.2.8
react: v18.3.1
trpc: v11.0.0
styling: Tailwind CSS
entry point: src/app/page.tsx
styling guide: Airbnb - https://github.com/airbnb/javascript
package installer/runtime: bun
You can follow the active development of BudgetLog either on GitHub, on Plane or (if you're lucky), online.
Feel free to create pull requests on Github if you want to contribute.
First, install the required packages:
npm i
# or
bun installYou will need to have a PostgreSQL server running. Once this is done, run the needed migrations:
npx drizzle-kit migrate
# or
bun drizzle-kit migrateCopy the example environment file (.env.example) and rename it to .env. Fill in the DATABASE_URL variable with the URL to your PostgreSQL database.
Follow the NextAuth tutorial in order to set up the Google OAuth variables. You will need these in order to properly run the project locally.
Feel free to customize the other variables to your liking, according to the given comments.
Then run the development server:
npm run dev
# or
bun devThe local project will be available at localhost:3000 in your browser.
This project uses Drizzle ORM and PostgreSQL. The database schema is available at src/server/db/schema.ts. Any modifications made to it will have to be transpiled into a migration.
Once modified, run:
npx drizzle-kit generate --name <migration name>
npx drizzle-kit migrate
# or
bun drizzle-kit generate --name <migration name>
bun drizzle-kit migrateThis will bring any changes made to the schema file into your database.