-
Notifications
You must be signed in to change notification settings - Fork 0
Technical Notes
Please follow the following notes while you work on the issues
- All Eloquent entities should reside in
app\Entities
and implements the interfaceApp\Entities\EntityInterface
. This interface has 2 methods to implement
-
populate(array $data)
This function intends to populate data from requests to the entity object -
rules(array $data , $id = false )
This function intends to provide validation rules for this entity$data
is the request data and$id
is only sent when updating the entity and they are used when some validation rules are changing based on the data sent . Please see example of\App\Entities\User
inapp\Entities\User.php
-
All entities should be named in singular form , usually laravel takes care of their database database table unless specified otherwise in $table property
-
All crud models should extends
App\Models\ModelAbstract
, it has generic functions to do basic actions on the entity . Please see example of\App\Admin\Users\Models\Users
in modules/admin/Users/Models/Users.php -
Modules and Controllers :
-
Admin modules should reside in
modules/admin
and named with StudlyCaps ( e.g : Users , TestingExams ... ) -
Frontend modules should reside in
modules/frontend
and also named named with StudlyCaps -
Authentication and homepage controllers resides in their default place
-
Routes
-
Each module has each own routes and defined in
modules/[admin|frontend]/<Module>/routes.php
, and they are included automatically using the help of ModulesServiceProvider -
Default application routes are in
routes\web.php
-
Themes resides in
/resources/themes
, and themes configuration is/config/themes.php
. Till now we have 2 themes , the first for admin panel calledadmin_default
and the second for frontend calledfrontend_default
. The admin theme uses js and scss assets fromresources/assets/js/admin.js
andresources/assets/sass/admin.scss
respectively . -
Development Server A CI ( continuous integration ) job is added on our jenkins server to continuously deploy the latest from master branch . You can check http://testing-eninge.camelcasetech.com/ for the latest deployed tasks . Ask
Adham Saad
for admin login credentials .