JobTeaser: Backend Guidelines
Goal of the document
This documentation is targeted for every developers working on the backend of JobTeaser main application. This must be the single point of documentation regarding architecture decisions and evolutions. This documentation is a snapshot of the current choices made by the team.
It's not static. Developers can suggest new ideas and they should be listened by the team. You can read the New Ideas section to learn more about the process.
How to contribute
- All the documentation is in Markdown (official Gitbook documentation).
- You need to create an account on Gitbook: gitbook.com (you can use Github Connect)
- The documentation repo is here (will change): https://www.gitbook.com/book/jobteaser/jobteaser-backend-guidelines/details
- You need to ask
write
access to an administrator of the JobTeaser gitbook account. - You can clone the repo, do your modifications, and push. (repo: https://git.gitbook.com/jobteaser/jobteaser-backend-guidelines.git)
- Or you can directly edit from Gitbook.com
Structure
- The Left Menu is controled by the
SUMMARY.md
file at the root of the repo. - Each fodler contains a
README.md
. - The code is embed directly inside the
README.md
with ```ruby YOUR_CODE``` - If you add a new section the
SUMMARY.md
, create a new folder in the root of the repo as well with aREADME.md
.
General Architecture
Source: Google Draw
Inspirations
- https://www.toptal.com/ruby-on-rails/decoupling-rails-components
- https://www.youtube.com/watch?v=WpkDN78P884
- https://revs.runtime-revolution.com/saving-multiple-models-with-form-objects-and-transactions-2c26f37f7b9a
- https://revs.runtime-revolution.com/creating-form-objects-with-activemodel-346e6c2abbf3
- https://blog.codeminer42.com/functional-object-composition-and-mvc-d914144e923f