This is not the holy bible! It is more a set of architecture guidelines for your orientation. So when difficult design decisions arise, please rethink under the following aspects:
1. Do as much as possible with Laravel!
Do as many things as possible by laravel, especially topics like: logic and view. Don't put logical stuff in SQL.
2. Keep it modular!
We use ping pong laravel module to enable modularity usage. A new module is required, when a new (and not already used topic) is addressed! More modules are often better.
See Writing your own Modules for more information.
3. Database independents matters!
One of our goals is to achieve database independents. For this purpose we use default laravel Eloquent Concept. See: https://laravel.com/docs/eloquent. This required as less as possible usage of direct DB connections – Don't use mysql_query() or avoid laravel DB:: command when possible
4. Base MVC is cool – use it!
Base MVC is our own core framework which extends the laravel framwork to our special needs. Most of the things you will experience, will go through it. See: Base MVC:
Only reusable and generic code goes in "Base MVC"!
NOTE: Only work in Base MVC context under the following aspects:
- You really know what you are doing!
- You will put a lot of effort in testing before merge request comes!
5. Do not reinvent the world! Use Standard Linux!
Make as much as possible use of common standard linux tools, like
- ISC DHCP
- Cacti and rrd
These are cool projects! So: USE THEM !
6. Design, look and feel matters!
For this purpose we use bootstrap with "Color Admin" Topic. So there is nothing wrong producing a cool, modern, fancy and responsive GUI. Most of our users care about this, they are no geeks. Checkout projects for more infos
- Bootstrap: http://getbootstrap.com/
- Topic: Color Admin: https://wrapbootstrap.com/theme/color-admin-admin-template-front-end-WB0N89JMK
7. Keep it simple!
8. Coding is Art: We love open source! Contribute!
9. Testing matters!
Testing is important!
TODO: phpunit stuff by Patrick Reichel for testing all MVCs!