Skip to content

Back End

Ryan Collins edited this page Sep 28, 2016 · 12 revisions

Back End Resources

Back End Team

The official directory of the back end team is located here.

Back End Project Management

We are using Waffle.io for our project management, which syncs github issues.

  • Waffle Alumni Back End If you have any problems using the Waffle UI, don't hesitate to post an issue on the repository.

Starter project

A starter project containing all of the setup below has been provided and can be found here.

Micro-Service Architecture

Using Docker, we aim to employ a micro-service architecture, eliminating the dependency on a monolithic back end application.

Testing

RSpec is generally recognized as the industry standard for testing rails since it lets you write your tests as if they are specifications. Rspec is configured with the starter project.

Linting and Static Analysis

The starter project has been setup to use a few important tools to ensure code quality, namely Rubocop and RubyCritic. Rubocop is built right into the testing process of the app, so please make sure to use it and by running rake validate, which runs the unit tests and the linter.

RubyCritic can solve code smells early on and it is installed with the app. Please see the documentation for how to use it. At stages throughout the development, we will meet to discuss the results of RubyCritic's analysis, so although you don't need to check it throughout the day, it will be important to monitor it occasionally so we can catch as many mistakes early on.

Pre Commit Hooks

Note that to some extent we must enforce rules, style and best-practices in order to build successful professional software. We have pre-commit hooks setup to run linting and tests. This may mean that you may be denied the ability to commit to our repositories. We may need to tweak the settings on this to ensure that it accomplishes the task without becoming annoying. if you have trouble at all with this, please let your team leader know!