3.2 KiB
Hack Club Stickers
Every Hack Clubber gets free, high-quality stickers. Completing programs and attending hackathons can earn more event-specific merch!
Features
- Trade stickers with other Hack Clubbers
- Browse an archive of all printed Hack Club stickers
- Submit new sticker designs
- Vote on your favourite designs
- Hack to earn monthly sticker shipments
- Use as an API for sticker designs
Contributing
- Help archive stickers at forms.hackclub.com/archive
To spin up the codebase
git clone https://github.com/hackclub/stickers cp .env.example .env pnpm install pnpm run devIn a separate terminal cd backend cp .env.example .env Edit .env bundle config set --local path 'vendor/bundle' bundle install bundle exec rackup config.ru -p 9292
API Usage
You can use stickers.hackclub.com/api/ to get a list of all Hack Club stickers in JSON. Please don't hammer it too hard — let us know what you're up to and we can help you coexist within the rate limit. Locally the backend runs on port 9292 and exposes the following endpoints:
Authentication
GET /auth/login- Redirects to OIDC provider for loginGET /auth/oidc/callback- OAuth callback handlerGET /auth/logout- Clears session and logs outGET /auth/me- Returns current authenticated user (requires auth)
Stickers
GET /stickers- List all visible stickersGET /stickers/:id- Get sticker details (requires auth)
Designs
GET /designs- List current user's designs (requires auth)GET /designs/all- List all designs (requires auth)POST /designs- Submit a new design (requires auth)POST /designs/:id/vote- Toggle vote on a design (requires auth)
Shop
GET /shop- List all shop itemsGET /shop/:id- Get shop item details
Our Airtable has no passwords or secrets — if you want a read-only personal access token scoped to the base we can provide it! In general we're happy to help you over DM, but please have a glance over the code first!
