a better basket to put all your eggs in
Find a file
nora 7d04469701
[Backend] UI2. (#67)
* first srcl pass!

* HOLY MFIN KBAR

* first last search

* put the borders back

* button!

* oops

* toolbar!

* lol

* bump dreamland, make kbar actually reactive?

* shorter timeout lol

* identity picker component

* nuke that lol

* seen_hints

* woah

* hint sys pt 1

* HINTS

* HINTS AND SHORTCUTS

* styles, BACKSPACE

* nav on home

* bananananana

* click, starring adam sandler

* scrool

* lint pass

* autoed complete

* shut

* brake the man

* dunno why those got unmerged

* path oopsie

* backspace on audit logs

* whitespace

* i thought i told you to shut up

* mr. brakeman
2025-12-03 01:17:37 -05:00
.github VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
app [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00
bin initial public commit!!! 2025-09-02 13:53:47 -04:00
config [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00
db [Backend] UI2. (#67) 2025-12-03 01:17:37 -05:00
lib hotfix old auth url 2025-12-02 04:47:23 -05:00
log initial public commit!!! 2025-09-02 13:53:47 -04:00
public initial public commit!!! 2025-09-02 13:53:47 -04:00
script initial public commit!!! 2025-09-02 13:53:47 -04:00
spec wehhh 2025-12-03 00:44:07 -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 VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
Dockerfile.worker VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
Gemfile OpenID connect! (#60) 2025-12-02 01:37:19 -05:00
Gemfile.lock update brakeman 2025-12-02 12:48:31 -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.