a better basket to put all your eggs in
Find a file
2025-11-24 19:50:37 -05:00
.github VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
app fix: create before destroy on apps 2025-11-24 19:50:37 -05:00
bin initial public commit!!! 2025-09-02 13:53:47 -04:00
config lol only do that in prod 2025-11-24 19:20:29 -05:00
db VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
lib rename to account.hackclub.com 2025-11-24 19:19:13 -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 VERSION. TWO. (#42) 2025-11-24 10:52:27 -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
.gitattributes initial public commit!!! 2025-09-02 13:53:47 -04:00
.gitignore VERSION. TWO. (#42) 2025-11-24 10:52:27 -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 VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
Gemfile.lock VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00
package.json VERSION. TWO. (#42) 2025-11-24 10:52:27 -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 rename to account.hackclub.com 2025-11-24 19:19:13 -05:00
vite.config.mts initial public commit!!! 2025-09-02 13:53:47 -04:00
yarn.lock VERSION. TWO. (#42) 2025-11-24 10:52:27 -05:00

Hack Club Account

This is the Rails codebase powering https://account.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 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.