We want to build a simple SaaS application to control a backend API server, as a developer we recommend that you have the folloiwng tools installed on your machine before you start writing code for the system:
- Ubuntu as the OS, you can use Windows or MacOS but we recommend Ubuntu
- Use DDEV as a development environment
- Use Visual Studio code as IDE
- We use Laravel Mix to generate assets so you should have basic knowldge of NPM and Laravel Mix
- We use Metronic theme to add a theme and style to the system, you may use all the compments of Metoric theme
In order to make sure that all developers are using the same enviroment for development, please follow these steps to prepeare your development enviroment
- Install DDEV as mentioned on this page
- Fork the repo on Github
- After the installation clone the repo using
git clone git@github.com:USERNAME/saas.git
- Checkout the
dev
branch - Run ddev using
ddev start
, this will install composer packags and run Laravel Mix package.json packages and generate assets, also it will delete the existing database, migrate the database, and seed it. - Once running
ddev
will show your the url of the project that is running on your localhost where you can start using the system
We use Metronic theme which has two components:
- PHP config files under
config
folder - Assets under
resources
folder - While you are developing front end changes like style changes or JavaScript changes you can use
npm run watch
which will reflect the changes directly so you can see them
We implement three methods to control the quality of the code:
- CS Fixer: to style the code and make it easy to read
- PHP Unit: we run tests on the code using unit tests
- PHPStan: to check if you are using reduant code or unsed variables
- Code Coverage: to verify that tests are covering all the aspects of the code
Each code you push to Github or PR you start will be evaluated using these scripts on Github