A tool to help manage codebar.io members and events.
If you are considering making a PR, please take a look at the GitHub issues to see if there are any new feature requirements or bugs that you maybe able to help resolve.
Need help? We're on Slack!
Before you start, please check out our contributing guidelines.
We recommend native installation for local development. A full step-by-step guide is in docs/development-setup.md. The quick version is below.
-
Install prerequisites (macOS or Linux):
- mise β manages Ruby and environment variables
- PostgreSQL β database server
- ImageMagick β image processing
On macOS with Homebrew:
brew install mise postgresql imagemagick brew services start postgresql
-
Clone the project:
git clone https://github.com/codebar/planner.git cd planner -
Install Ruby (managed by mise):
mise install
-
Configure GitHub OAuth:
- Create a GitHub OAuth app at https://github.com/settings/applications/new
- Authorization callback URL:
http://localhost:3000/auth/github - Copy your Client ID and Client Secret into
mise.local.toml:cp mise.local.toml.example mise.local.toml # Edit mise.local.toml with your real credentials
-
Install dependencies and set up the database:
gem install bundler bundle install bundle exec rake db:create db:migrate db:test:prepare -
Check your environment:
bundle exec rake setup:check -
Start the app:
bundle exec rails serverVisit http://localhost:3000.
bundle exec rspecRun tests in parallel for faster results:
bundle exec parallel_rspec spec/ -n 3Run a single test:
bundle exec rspec spec/path/to/test_spec.rb:42Run JavaScript-enabled feature tests with a visible browser:
PLAYWRIGHT_HEADLESS=false bundle exec rspecAfter signing up locally, run:
bundle exec rails runner "Member.find_by(email: 'your-email@example.com').add_role(:admin)"For detailed, step-by-step instructions β including troubleshooting, Linux-specific steps, and explanations of what each tool does β see docs/development-setup.md.
A Docker setup exists but is not recommended for local development. It is slower, harder to debug, and does not support running JavaScript feature tests with a visible browser.
If you prefer Docker, see the commands in bin/d*:
| Command | What it does |
|---|---|
bin/dup |
Build and start a new container (also resets the database) |
bin/dstart |
Start an existing container |
bin/dserver |
Run the Rails server inside the container |
bin/drspec |
Run the test suite inside the container |
bin/drake |
Run rake inside the container |
bin/dexec |
Open a shell inside the container |
bin/dstop |
Stop the container |
bin/ddown |
Stop and remove the container |
We use Bootstrap 5. Documentation: https://getbootstrap.com/docs/5.2/getting-started/introduction/
You can pick one of the open issues, fix a bug, improve the interface, refactor the code or improve test coverage!
If there is something else that you would like to work on, open an issue first so we can discuss it. We are always open to new ideas and ways of improving planner!
