This guide will walk you through setting up the application for development using GitHub Codespaces.
-
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.
If you run into any errors in the terminal you don't recogize, feel free to run them by @jasper [mayonej@wit.edu].