Skip to content

davemcg3/famupdates

Repository files navigation

famupdates

Rails 6 app that allows users to follow each other and see the latest status from everyone they are following in one easy-to-use screen. Also supports a "wall" for each user that users can post on. Supports blocking other users as well.

Ruby version

3.0.2 Check Gemfile if this seems out-of-date.

Rails version

6.1.4.1 Check Gemfile if this seems out-of-date.

System dependencies

Using Puma for the web server

Using devise for authentication

Using SendGrid for administrative emails

Authorization handled by Pundit

Configuration

To run locally do the setup:

rvm use 3.0.2

bundle

  • First run:

rails db:setup

  • Later runs:

rails db:migrate

Then:

rails s

How to run the test suite (e.g. "run specs")

rspec spec

Services (job queues, cache servers, search engines, etc.)

Puma is currently setup to support workers. Have not added sidekiq or redis to handle asynchronous tasks as there are none to run currently.

Deployment instructions

Setup the release

Create a new release branch:

git checkout -b release/vX.X.X-xxxx

Merge your feature branch to the release branch.

Test the release

Pull the release branch down locally. Run specs. Run the server locally and click around making sure you can register, login, create a new status, create a new wall post, logout.

Deploy the release

Open a pull request from the release branch to main. Merging to main will autodeploy to Heroku through Heroku pipelines. There is no CI/CD currently so when you are ready to deploy just merge.

There is protection on the main branch requiring review from code owners before merge.

Close the issue you're resolving. If the ticket is not automatically moved to "Done" in the Brightbane project then move it manually.

Tag the release

Update your main branch to get the merge commit

git checkout main

git pull

Set the HEAD to the old commit that we want to tag where xxxxxxx is the commit hash

git checkout xxxxxxx

temporarily set the date to the date of the HEAD commit, and add the tag Ex: v0.0.1-alpha

GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" \

git tag -a vX.X.X-xxxx -m"vX.X.X-xxxx"

Set HEAD back to whatever you want it to be

git checkout main

Push changes to the repo

git push origin --tags