a better basket to put all your eggs in
Find a file
2025-12-09 21:15:25 -05:00
.github Bump actions/checkout from 4 to 6 (#45) 2025-12-03 01:56:42 -05:00
app fix action IDs again AGAIN 2025-12-09 21:15:25 -05:00
bin initial public commit!!! 2025-09-02 13:53:47 -04:00
config Flavortown onboarding (#97) 2025-12-09 20:13:24 -05:00
db Flavortown onboarding (#97) 2025-12-09 20:13:24 -05:00
lib fix oauth authorization on domain redirect 2025-12-05 15:08:13 -05:00
log initial public commit!!! 2025-09-02 13:53:47 -04:00
public Switch mailers to SES (#72) 2025-12-04 16:32:32 -05:00
script initial public commit!!! 2025-09-02 13:53:47 -04:00
spec fix action IDs again AGAIN 2025-12-09 21:15:25 -05:00
storage initial public commit!!! 2025-09-02 13:53:47 -04:00
tmp initial public commit!!! 2025-09-02 13:53:47 -04:00
vendor initial public commit!!! 2025-09-02 13:53:47 -04:00
.dockerignore initial public commit!!! 2025-09-02 13:53:47 -04:00
.erb_lint.yml [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00
.gitattributes initial public commit!!! 2025-09-02 13:53:47 -04:00
.gitignore [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00
.rspec VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
.rubocop.yml initial public commit!!! 2025-09-02 13:53:47 -04:00
.ruby-version initial public commit!!! 2025-09-02 13:53:47 -04:00
config.ru initial public commit!!! 2025-09-02 13:53:47 -04:00
docker-compose-dbonly.yml initial public commit!!! 2025-09-02 13:53:47 -04:00
Dockerfile UGH 2025-12-04 17:44:17 -05:00
Dockerfile.worker fix coolify deploy 2025-12-04 16:35:28 -05:00
Gemfile Switch mailers to SES (#72) 2025-12-04 16:32:32 -05:00
Gemfile.lock Switch mailers to SES (#72) 2025-12-04 16:32:32 -05:00
package.json [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00
Procfile.dev initial public commit!!! 2025-09-02 13:53:47 -04:00
Rakefile initial public commit!!! 2025-09-02 13:53:47 -04:00
README.md one final rebrand (#61) 2025-12-02 01:42:55 -05:00
vite.config.mts [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00
yarn.lock [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00

Hack Club Auth

This is the Rails codebase powering https://auth.hackclub.com!

contributing

ask around in #idv-dev or poke nora!

avoid questions that can be answered by reading the source code, but otherwise i'd be happy to help you get up to speed :-D

kindly bin/lint your code before you submit it!

areas of focus

the ops view components (look in app/components) are a hot mess...

so is the onboarding controller, she should really be ripped out and replaced.

dev setup

  • make sure you have working installations of ruby ≥ 3.4.4 & nodejs
  • clone repo
  • create .env.development, populate DATABASE_URL w/ a local postgres instance
  • if you want to use docker, you can run docker compose -f docker-compose-dbonly.yml up to spin up a database and plug postgresql://postgres@localhost:5432/identity_vault_development in as your DATABASE_URL
  • run bundle install
  • run bin/rails db:prepare
  • console in (bin/rails console)
    • Backend::User.create!(slack_id: "U<whatever>", username: "<you>", active: true, super_admin: true)
  • run bin/dev (and bin/vite dev if you want hot reload on css & js)
  • visit http://localhost:3000/backend/login, paste that Slack ID in, and "fake it til' you make it"

security

this oughta go without saying, but if you find a security-relevant issue please either contact me directly or go through the security.hackclub.com flow if you just open an issue or a PR there's a chance a bad actor sees it and exploits it before we can patch or merge.