laravel icon indicating copy to clipboard operation
laravel copied to clipboard

Base project use PHP Laravel with ready made method functions and features

CircleCI codecov

Laravel

Stack

  • Laravel 5.8.3

TO DO List

  • [x] Init Laravel
  • [x] Init Docker development environment
  • [x] Create base directory structure
  • [x] Integrate coding convention checking tools (PHP Codesniffer/EsLint/StyleLint)
  • [x] Continuous Integration configuration (Circle CI, ~~Sun CI~~)
  • [x] Implement SSR Sign In | Sign Up | Sign Out + Unit Test
  • [x] Implement SPA Sign In | Sign Up | Sign Out + Unit Test
  • [x] Implement user's role base authorization + Unit Test
  • [x] Implement exception handle and report to chat app (Chatwork, Slack)
  • [x] Implement upload file + Unit Test
  • [x] Implement resize/rotate/crop image + Unit Test
  • [x] Implement read/write CSV + ~~Unit Test~~
  • [ ] Implement read/write Excel + Unit Test
  • [ ] Implement Logger + Unit Test

Prerequisites

To install the development dependencies you will need:

Development

$ chmod a+x ./docker.sh
$ ./docker.sh start
  • Web: https://localhost:8443 [Basic Authenticate] user:web password:123456
  • PhpMyAdmin: https://localhost:8444
  • API Documents: https://localhost:8445

Build

  • For re-build docker images and re-create containers
$ ./docker.sh test-build
  • Attach to a running container
$ ./docker.sh exec {service_name}

Testing

$ ./docker.sh exec php
$ vendor/bin/phpunit

Linting

  • PHP code
$ ./docker.sh exec php
### List coding standard rules
$ vendor/bin/phpcs -i
### Run phpcs check
$ vendor/bin/phpcs --extensions=php --standard=SunOS --encoding=utf-8 .
  • Frontend code
$ ./docker.sh exec node
### Run javascript check
$ yarn eslint.run
### Run css check
$ yarn stylelint.run

Contribute

  • Fork the repository and make changes on your fork in a feature branch.
  • Commit messages must start with a capitalized and short summary.
  • After every commit, make sure the test suite passes.
  • Contributor sends pull request to release/develop branch, ask another contributor to check if possible.
  • Don't push private keys, logs or any unnecessary files to git repository
  • Merge when pull request got 2 OK from contributors and CI build is green.
  • Merge develop to master to release final version.