The purpose of the LEARN Academy student application is to streamline workflow and facilitate communication between instructors and students.
- Clone the repository
- Install dependencies by running:
brew install redis
bundle
yarn
rails db:setup
- If Ruby version is not 3.1
rvm install 3.1.0
- When Running bundle, If error: "Your bundle is locked to administrate..."
bundle update
bundle
- When
rails db:setup
, let the command finish.
- Do Not Run Any Command that looks like this: -
sudo apt install ruby-full
Start the server by running yarn build
Execute the existing testing suite by running rspec spec
This project uses standard as the project linter.
Execute the linter by running standardrb
Fix basic linting mistakes by running standardrb --fix
Elements of the commit message:
- Gitmoji that represents the main objective of the PR
- 💄 Adds or fixes UI
- 💡 Adds or updates code comments
- 🔧 Adds or updates config files
- 📝 Adds or updates documentation
- ➕ Adds or updates dependencies
- 🌱 Adds or updates seed files or mock data
- ✅ Adds or updates tests
- 🐛 Bug
- ✏️ Fix typos
- 🧑💻 Improve developer experience
- 🚚 Move or rename files or resources
- ✨ New feature
- ♻️ Refactor code
- 🔇 Remove console logs
- 📱 Responsive design
- 🚧 Work in progress
- Ticket ID within brackets:
[2]
- Brief description of the content, should be similar to the branch and ticket name
📝 [21] updates README
Fill out the Pull Request template.
Project in managed in Notion. Reach out to a member of the team to gain access.
You can view more about the accessability workflow for GitHub Actions here:
Once a scaffold has been generated for a model, a directory for that model will be generated with views, controllers, and specs. The views have partials (usually starts with an underscore _ ) that are rendered and must be modified to specification.
The controllers need to be modified to handle newly generated columns otherwise turbo_stream will be unable to access those properties.
The specs need to be modified so that forms with changed inputs (such as select) have different assertions.
The general workflow can be broken down into 3 steps.
- The specs
app/spec/models app/spec/requests app/spec/views
- The view page
app/views/your_model
- The controller
app/controllers/users/your_model.rb
-
If you're not seeing an updated page mid development.
$ yarn build:update
- For the admin side of the app, only controllers namespaced to Admin will have modify the behaviour of the app.
- please keep in mind unused controllers and routes to see if we can get rid of at a later time
- app/models/concerns/user_agreements.rb
# validates :terms_of_service, presence: true, acceptance: true, on: [:create, :invitation_accepted]
- config/routes.rb
# resources :accounts
- app/models/concerns/user_agreements.rb