-
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\Entitiesand 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$datais the request data and$idis 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\Userinapp\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\Usersin modules/admin/Users/Models/Users.php -
Modules and Controllers :
-
Admin modules should reside in
modules/adminand named with StudlyCaps ( e.g : Users , TestingExams ... ) -
Frontend modules should reside in
modules/frontendand 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_defaultand the second for frontend calledfrontend_default. The admin theme uses js and scss assets fromresources/assets/js/admin.jsandresources/assets/sass/admin.scssrespectively . -
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 Saadfor admin login credentials .