Skip to content

Repository files navigation

Getting Started

You can set up the app on your own machine with mise, or in GitHub Codespaces.

Local Setup (mise)

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.

  1. Clone the repository and go into it.

  2. Trust the project config:

    mise trust
  3. Get the development credentials key. See step 7 in Codespaces Setup.

  4. Install everything and prepare the database:

    mise bootstrap

    This installs the system packages from mise.toml, installs the tools, and then runs mise run setup. Postgres must be running before the setup step.

  5. 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.

Codespaces Setup

  1. Create a new branch OR fork this repository

    If you create a new branch, make sure it is named properly.

  2. Click the green "Code" button towards the right of the screen

  3. Click the "Codespaces" tab at the top of the pop-up

  4. Click "Create codespace on your-branch-name"

  5. Install dependencies:

    Run in a new terminal window:

    bundle install
  6. Set up Codespace:

    Run the following command in the terminal:

    bash bin/codespace-setup
  7. 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.key

        Note: You'll need to create the development.key file. Ensure it is created in the correct directory (config/credentials).

  8. Set up the database:

    bin/rails db:create
    bin/rails db:migrate
    bin/rails db:seed
  9. 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: image

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

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

  10. 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_in or your-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_in to the end of the URL.

Public Catalog API

The app serves a read-only course catalog over REST and GraphQL. No authentication is needed. See docs/public-catalog-api.md.

Troubleshooting

If you run into any errors in the terminal you don't recogize, feel free to run them by @jasper [mayonej@wit.edu].

About

Backend for calendar project. Written in Ruby on Rails.

Resources

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages