Skip to content

Latest commit

 

History

History
90 lines (71 loc) · 2.83 KB

readme.md

File metadata and controls

90 lines (71 loc) · 2.83 KB

CircleCI codecov

Laravel

Stack

  • Laravel 5.8.3

TO DO List

  • Init Laravel
  • Init Docker development environment
  • Create base directory structure
  • Integrate coding convention checking tools (PHP Codesniffer/EsLint/StyleLint)
  • Continuous Integration configuration (Circle CI, Sun CI)
  • Implement SSR Sign In | Sign Up | Sign Out + Unit Test
  • Implement SPA Sign In | Sign Up | Sign Out + Unit Test
  • Implement user's role base authorization + Unit Test
  • Implement exception handle and report to chat app (Chatwork, Slack)
  • Implement upload file + Unit Test
  • Implement resize/rotate/crop image + Unit Test
  • 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

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.