This basic task management system build as RESTful API using Laravel a (PHP framework), and uses official and third-party libraries:
- Laravel Sanctum for SPA authentication.
- Laravel IDE Helper Generator to generate accurate autocompletion.
- PHP CodeSniffer to enforces everybody is using the same coding standard
- 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 Enum Simple, extensible and powerful enumeration implementation for Laravel.
- flysystem aws s3 Flysystem Adapter for AWS SDK V3
- Predis A flexible and feature-complete Redis client for PHP.
You can now run the test simply typing
./vendor/bin/phpcs
Fixing PHP CodeSniffer has built-in tool that can fix a lot of the style errors, you can fix your code by simply typing
./vendor/bin/phpcbf
The test directory is ignore in the phpcs.xml
since I choose snake_case
over CamelCase
in the class methods for readability purpose.
You can read here
You can find Task Management System.postman_collection.json
and Task Management System.postman_environment.json
in the docs directory.
Laravel server requirements here
- PHP:
^8.0
- PHP extension
php_zip
enabled - PHP extension
php_zip
enabled - PHP extension
php_xml
enabled - PHP extension
php_gd2
enabled - PHP extension
php_iconv
enabled - PHP extension
php_simplexml
enabled - PHP extension
php_xmlreader
enabled - PHP extension
php_zlib
enabled
Clone the repository
$ git clone /~https://github.com/markmarilag27/laravel-task-management-api.git
Install dependencies
$ composer install
Run artisan commands
php artisan migrate:fresh && php artisan db:seed --class=StateSeeder && php artisan db:seed --class=TaskSeeder
Open your localhost environment