An auth system for Youthacks attendees and organisers.
|
|
Warning
This was made partly for fun learning, and is still a work-in-progress. If you want something that's more advanced, customisable, and/or secure, you should check out other open-source projects! Some examples are Zitadel, Authentik and Authelia.
- Log in with email OTP
- Sign up with email OTP
- Self-service user management, including profile, avatar upload, sessions, and external app permissions
- Self-service external app management
- Sign in to external apps with OAuth2*
- Look really pretty 💖
*this is not fully complete, but it is somewhat spec-compliant and does work with standard libraries, like better-auth!
To run the app, first copy .env.example to .env.local and edit the variables with a [!], including your Postgres database.
Tip
To spin up a Postgres database locally, copy docker-compose.example.yml to docker-compose.yml and generate a new password.
Then (with Docker installed), run docker compose up -d
After, you can install dependencies, migrate the database, and start the local dev server:
pnpm install
pnpm db:push
pnpm devTo build the app for production, run:
pnpm build- TanStack Start
- React + Tailwind CSS
- Drizzle ORM
- Elysia (oauth api)
- React Email (email templates)

