How to get started working on this project is below.
To run this application you need to have:
- PHP Version:
^8.3
- Exif PHP Extension
- GD PHP Extension
- Imagick PHP Extension
- BCMath PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Fileinfo PHP extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
List of used packages:
- Laravel Sanctum for SPA authentication.
- Laravel Telescope provides insight into the requests coming into your application, exceptions, log entries, database queries, queued jobs, mail, notifications, cache operations, scheduled tasks, variable dumps, and more.
- Laravel Horizon provides a beautiful dashboard and code-driven configuration for your Laravel powered Redis queues. Horizon allows you to easily monitor key metrics of your queue system such as job throughput, runtime, and job failures.
- S3 Driver Configuration The S3 driver configuration information is located in your
config/filesystems.php
configuration file. This file contains an example configuration array for an S3 driver. You are free to modify this array with your own S3 configuration and credentials. For convenience, these environment variables match the naming convention used by the AWS CLI. - PHPRedis a PHP extension for Redis
- Laravel IDE Helper Generator to generate accurate autocompletion.
- Laravel Pint is an opinionated PHP code style fixer for minimalists. Pint is built on top of PHP-CS-Fixer and makes it simple to ensure that your code style stays clean and consistent.
- PHPStan scans your whole codebase and looks for both obvious & tricky bugs. Even in those rarely executed if statements that certainly aren't covered by tests.
- Laravel Enlighten scans your Laravel app code to provide you actionable recommendations on improving its performance, security & more.
- Laravel Query Builder a package allows you to filter, sort and include eloquent relations based on a request. The QueryBuilder used in this package extends Laravel's default Eloquent builder. This means all your favorite methods and macros are still available. Query parameter names follow the JSON API specification as closely as possible.
- Laravel Media Library a package can associate all sorts of files with Eloquent models. It provides a simple, fluent API to work with.
- Laravel Phone a phone number functionality for Laravel
- Intervention Validation is an extension library for Laravel's own validation system. The package adds over 30 additional validation rules to verify data like IBAN, BIC, ISBN, creditcard numbers and more.
You can now run the test simply typing
./vendor/bin/pint
PHPStan scans your whole codebase and looks for both obvious & tricky bugs. Even in those rarely executed if statements that certainly aren't covered by tests.
./vendor/bin/phpstan analyse
This package generates helper files that enable your IDE to provide accurate autocompletion. Generation is done based on the files in your project, so they are always up-to-date.
php artisan ide-helper:generate
php artisan ide-helper:meta
I recommend to use this with VSCode extension called Laravel Intellisense
Clone the repository
$ git clone [email protected]:markmarilag27/snel.git
Copy and edit environment file
$ cp .env.example .env
Run to build the app container
$ docker compose build app
Run to boot up development, create minio bucket, dynamodb table and composer install and etc.
$ bash ./run-start.sh
Enter on container shell
$ bash ./run-exec-container.sh
Run this script before commit
$ bash ./run-before-commit.sh
For viewing local email Mail & Local Development
http://localhost:8025
http://localhost/telescope
http://localhost/horizon
http://localhost:9000