mirror of
https://github.com/System-End/identity-vault.git
synced 2026-04-19 18:35:13 +00:00
a better basket to put all your eggs in
| .github | ||
| app | ||
| bin | ||
| config | ||
| db | ||
| lib | ||
| log | ||
| public | ||
| script | ||
| spec | ||
| storage | ||
| tmp | ||
| vendor | ||
| .dockerignore | ||
| .erb_lint.yml | ||
| .gitattributes | ||
| .gitignore | ||
| .rspec | ||
| .rubocop.yml | ||
| .ruby-version | ||
| config.ru | ||
| docker-compose-dbonly.yml | ||
| Dockerfile | ||
| Dockerfile.worker | ||
| Gemfile | ||
| Gemfile.lock | ||
| package.json | ||
| Procfile.dev | ||
| Rakefile | ||
| README.md | ||
| vite.config.mts | ||
| yarn.lock | ||
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_URLw/ a local postgres instance andLOCKBOX_MASTER_KEYwith the value ofopenssl rand -hex 32 - if you want to use docker, you can run
docker compose -f docker-compose-dbonly.yml upto spin up a database and plugpostgresql://postgres@localhost:5432/identity_vault_developmentin as yourDATABASE_URL- if you don't have docker and are on macOS, orbstack may be helpful
- 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(andbin/vite devif 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.