Overview Last updated: 26-MAY-2021 @ 08:07 PM
| Fieldy SAAS and its Terminologies (Overview) | ||||||
|---|---|---|---|---|---|---|
Our Fieldy Application process involves in three different terminologies.
|
Work Flow: 
| Fieldy SAAS and its Terminologies (Overview) | ||||||
|---|---|---|---|---|---|---|
Our Fieldy Application process involves in three different terminologies.
|
Work Flow: 
Application backend comprises of three Different Microservices which are connected in same database.
| User Management Microservice | ||||||
|---|---|---|---|---|---|---|
User Management Microservice herein after referred to as MS-U
|
| Accounting Microservice | ||||||
|---|---|---|---|---|---|---|
Accounting Microservice herein after referred to as MS-A
|
| Job Microservice | ||||||
|---|---|---|---|---|---|---|
Job Microservice herein after referred to as MS-J
|
| Environments | ||||
|---|---|---|---|---|
Fieldy SAAS has two different Environments.
|
| Dev Environment | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
Developer Environment, where dev changes residing here. This environment is one, where Developers made some progress and those progress needs to be upto date. So that this environment may contains issues always.
|
| QA Environment | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
This environment is used to be a stable environment. Once the progress made in dev environment has been analysed by QA team manually and approved it, so that changes will comes to this environment, here automation has been taken care of.
|
| Both the above mentioned two environments has been setup with Devops, So it generate app necessities based on the commands which we have configured. But before that a question which may arise How we are splitting up these environments? or Do we have two different repositories for Dev and Qa? - Answer is no. |
| No. of Repositories |
|---|
| We are maintaining one repository for both dev and qa. So what is the difference between them? how we are classifying it? |
| Behind the Scenes | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Routes | ||||
|---|---|---|---|---|
Routes(routes/api/) Two different directories we can found in routes/api
|
| Let's dive in deep | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
As for now there are few files which we need to look into it.
|
||||||||||
| Please follow the same, Configure your Custom Route file in RouteServiceProvider and start using it. Please create new route file for module specific. |
| Controllers(app/Http/Controllers/) | ||||||||
|---|---|---|---|---|---|---|---|---|
Two different directories we can found in app/Http/Controllers
|
||||||||
| As described in Tenant Routes, inside app/Http/Controllers/Api/Tenant also deals with Menu based controller files, | ||||||||
|
||||||||
| Note: Please create directory based on the Menu's which are provided in frontend it is easier to navigate further. |
| We don't have majority of middlewares to dealt with it. JWT Middleware is one which it handles all authentication menu permission related actions has been handled. |
| Requests (app/Http/Requests/Tenant) | ||||
|---|---|---|---|---|
which handles fieldy saas tenant related Request validations.
|
||||
| Dev who ever working on the validations of their respective modules, they need to create thier validation files under Tenant/Frontend/ and please mention the name as related to your controller functions. |
| Resources (app/Http/Resources) |
|---|
| What is this resource files? Resources files are one which it will alters our json response as per our convenient. Please Use Resource File then and there so that we can easily alter our json response as per our convenient. |
| In this directory there isn't any sub directories are there, in case if you need any subdirectory please include that here as well. |
| Quick Tip: Please refer further things about resources here |
| Helpers (app/Helpers) |
|---|
| Our Fieldy application helpers are needs to be comes under fieldyhelper, in case if there is more functions there and code is sets to bulky, please create a new file and include it in composer.json. |
| Note: Use fieldyhelper.php and helper.php for onpremise and zaigoinfotech related operations. |
| Events (app/Events app/Listeners) |
|---|
| As Devs working on laravel has been aware of it, that is events and listeners will residing inside the above mentioned directories. |
| Note: use specific names as are related to your model actions. Such as FieldyUserCreated etc., |
| Traits (app/Traits) |
|---|
| File Upload has been handled here, please go through this one. |
| Rules (app/Rules) |
|---|
| Custom Rules in regards to validation has been handled here. |
| In terms of TenantUnique Validation you need to use the TenantUniqueValidation rule across the application. It needs table name and custom wheres where you can add where conditions more than tenant and any other columns. |
| Note: use specific names as are related to your model actions. Such as FieldyUserCreated etc., |
| Services (app/Services/Tenant/) | ||||||
|---|---|---|---|---|---|---|
|
||||||
| Note: Controller connects to Services, Services connects to Repository, repository connects to Model. |
| Repositories (app/Repository/) | ||||||||
|---|---|---|---|---|---|---|---|---|
Click here to study briefly
|
| Model (app/Model/Tenant/) | |
|---|---|
|
| Seeders (database/seeders/) | |
|---|---|
|
| Observers (app/Observers/) | |
|---|---|
|
| GIT Best Practices | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Developers should follow this practices on every module and every task which they are handling.
Note: Telescope server.php should not committed in our dev server. |
||||||||||||||||||||||||
| In case if your code set needs to run composer update Please let Server team or your TL to get this done. |