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
misefor 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
- GoRails Windows (Ubuntu WSL)
- GoRails MacOS
- GoRails Ubuntu
- only use this tutorial if your laptop boots up to Ubuntu
- use GoRails Windows (Ubuntu WSL) if you boot up to Windows and then use WSL
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
- 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
- Update ruby gems to latest
gem update --system
# verify gem version
gem -v
#=> 3.6.8
- Install Rails 8.0.2
gem install rails -v 8.0.2
- Verify rails version
rails -v
# Rails 8.0.2
Sorbet IDE Setup
- Install sorbet vscode extension
- Install byesig vscode extension
- Update
byesigopacity 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.