You can set up the app on your own machine with mise, or in GitHub Codespaces.
mise installs Ruby, Node, Postgres, and the system libraries that the gems need. It also runs the project tasks. You need mise 2026.9.0 or later.
-
Clone the repository and go into it.
-
Trust the project config:
mise trust
-
Get the development credentials key. See step 7 in Codespaces Setup.
-
Install everything and prepare the database:
mise bootstrap
This installs the system packages from
mise.toml, installs the tools, and then runsmise run setup. Postgres must be running before the setup step. -
Start the app:
mise run dev
Run mise tasks to see all tasks. Common tasks:
| Task | What it does |
|---|---|
mise run dev |
Starts the web server and the Tailwind watcher |
mise run test |
Builds Tailwind CSS and runs RSpec. Add paths to run a subset. |
mise run lint |
Runs RuboCop and the Herb linter |
mise run security |
Runs Brakeman and bundler-audit |
mise run ci |
Runs lint, security, and tests |
mise run db:reset |
Drops, creates, and seeds the development database |
Put personal overrides in mise.local.toml. Git ignores that file.
-
Create a new branch OR fork this repository
If you create a new branch, make sure it is named properly.
-
Click the green "Code" button towards the right of the screen
-
Click the "Codespaces" tab at the top of the pop-up
-
Click "Create codespace on
your-branch-name" -
Install dependencies:
Run in a new terminal window:
bundle install
-
Set up Codespace:
Run the following command in the terminal:
bash bin/codespace-setup
-
Set up Rails credentials:
This project uses Rails encrypted credentials for storing sensitive configuration like Google OAuth credentials and Active Record encryption keys.
- Uses
config/credentials/development.yml.enc - Email @jasper [mayonej@wit.edu] for the development key to decrypt the credentials.
-
Paste the key into
config/credentials/development.keyNote: You'll need to create the
development.keyfile. Ensure it is created in the correct directory (config/credentials).
-
- Uses
-
Set up the database:
bin/rails db:create bin/rails db:migrate bin/rails db:seed
-
Set up Google OAuth:
You will need to provide @jasper [mayonej@wit.edu] your Codespace URL to be added to the development project on Google Cloud.
a. In the bottom panel of your Codespace, click the Ports tab as shown below:

b. Right click port 3000 and set the port visibility to "Public" as shown below:

c. Right click the "Forwarded Address" for port 3000 and click "Copy Local Address" as shown below:

-
Run the application:
bin/dev
This will start the web server, the background job worker, and the CSS watcher. You can access the application at
http://127.0.0.1:3000/users/sign_inoryour-codespace-URL/users/sign_in(see the previous step for instructions for getting your Codespace URL).Note: If you click the "Open in Browser" on the notification that comes up within the Codespace after starting the server, you will be redirected to the root page of the server, which doesn't exist. You must manually append
/users/sign_into the end of the URL.
The app serves a read-only course catalog over REST and GraphQL. No authentication is needed. See docs/public-catalog-api.md.
If you run into any errors in the terminal you don't recogize, feel free to run them by @jasper [mayonej@wit.edu].