# Varify Laravel-Spark Coding Guidelines
- Respect DRY principle
- Resect KISS principle
- Remove unused code
- Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)
## Javascript
- No new `jQuery` should be implemented, with the exception of integrated bootstrap functionality via html attributes
- Javascript should be written in `ES6`
- Write tests for javascript functionality in `jest`
## Templating
- Extract reusable templates into blade [components](https://laravel.com/docs/6.x/blade#components-and-slots)
- If component requires javascript functionality, a `Vue` component should be used
- No `javascript` functionality should be used within the Blade template
- Use `i18n` for localization in `Vue`
- Use integrated localization for `Blade` templates
- No unused/useless classes in `html` elements
## Styling
- Styling should primarily be done with `Bootstrap`
- `font-awsome` should be used for icons
### Custom styling
- Only in rare circumstances should custom scss be implemented
- Use [BEM](http://getbem.com/) methodology. No IDs are to be used
- Global `scss` variables should be used for colours, fonts and spacings