Skip to main content

Setup JodBoard API

Dependencies

You should have the following versions installed in your local.

Everyone should be using mise as their version manager for things like node, ruby, postgresql, etc.

  • we want everyone's setup to be the same so that we can assist each other easily
  • you should use mise for your personal projects too

Updated 28 April 2025 | application | command | version | | ----------- | -------------------- | ------- | | ruby | ruby --version | 3.4.3 | | rails | rails --version | 8.0.2 | | bundler | bundle --version | 2.6.8 | | ruby gems | gem -v | 3.6.8 | | postgresql | postgres --version | 17.4 |

Ruby installation

Postgresql Installation

todo

Setting up project

# 1. Navigate to your local folder where you want to clone
# I have a folder ~/jod/repo for all jod codebases
cd ~/jod/repo

# 2. Pull latest [`jodapp-api`](https://github.com/jod-app/jodapp-api)
# NOTE: if you added Host github.com-jod in your .ssh/config, you should use git@github.com-jod:jod-app/jodapp-api.git
git clone git@github.com:jod-app/jodapp-api.git

# 3. install dependencies
cd jodapp-api
bundle install

# 4. Initialise your local database
# - ensure you have installed postgresql 17.4 on your local
rails db:create

# run migrations
rails db:migrate

Install gems

Ali's Installation Notes (skip)

You can skip this

  1. Install ruby 3.4.3

using asdf

# update asdf plugin to get latest ruby versions
asdf plugin update ruby

# install ruby 3.4.3
asdf install ruby 3.4.3

# verify ruby version
ruby --version
#=> 3.4.3
  1. Update ruby gems to latest
gem update --system

# verify gem version
gem -v
#=> 3.6.8
  1. Install Rails 8.0.2
gem install rails -v 8.0.2
  1. Verify rails version
rails -v
# Rails 8.0.2

Sorbet IDE Setup

  1. Install sorbet vscode extension
  2. Install byesig vscode extension
  3. Update byesig opacity to 0.3 (or a value you like)
    • The idea behind this is to prevent visual litter on the codebase with type definitions
    • CMD + P > Preferences: Open user settings > Search for byesig > update opacity value

Replace Postman with Bruno

Everyone will use Bruno as our API client.

Download the desktop app. Download the vscode extension.

Open the desktop app. Load the folder jodapp-api/docs/api

You can make edits directly to the .bru file in the project, but to execute the http request, you will need to use the desktop app.