ACM event site and registration app
Built with Astro frontend and a Hono + Cloudflare Workers backend. It uses D1 + Drizzle for storage and better-auth for authentication.
Recommended extensions live in .vscode/extensions.json. VS Code will prompt to install them when you open the workspace.
- Install Bun.
- Clone the repo and
cdinto it. - Create a
.envin the project root (copy from.env.example). - Install dependencies:
bun install
- Generate and apply migrations locally:
bun run db:generate bun run db:migrate:local
Run both frontend and backend:
bun run devIf dev:backend errors because the assets directory is missing, either:
- Create an empty
distfolder, or - Run
bun run buildonce to generate it.
- View local D1 data: open
.wrangler/state/d1with a SQLite viewer extension in VS Code. - View prod DB with Drizzle Studio:
bun run db:studio
bun run deployIt will prompt you to login to your Cloudflare account if you didn't already.
If you do not have Cloudflare access yet, ask for access and provide your email address.
Run formatting and lint checks:
bun run format
bun run lintbun run dev- run frontend + backendbun run build- build frontend assetsbun run deploy- build and deploy workerbun run db:generate- generate migrations from schemabun run db:migrate:local- apply migrations to local D1bun run db:migrate:prod- apply migrations to prod D1bun run db:studio- open Drizzle Studio