LAB INFORMATION TRACKER
This is the repository for the lab information tracker app.
Prerequisites
Install NGINX
sudo apt install -y nginx
Install PHP and required service
sudo apt install -y php-fpm php-mbstring php-gd php-xml php-cli php-zip php-mysql unzip curl openssl pkg-config git autoconf automake libxml2-dev libcurl4-openssl-dev libssl-dev openssl gettext libicu-dev libmcrypt-dev libmcrypt4 libbz2-dev libreadline-dev gettext build-essential libmhash-dev libmhash2 libicu-dev libxslt-dev zlib1g-dev libzip-dev make
Install PHPBrew
Please check the Official PHPBrew Documentation for installation.
Install PHP 7.3 on PHPBrew
phpbrew install 7.3 +default +fpm +pdo +mysql
# See installed php version with phpbrew list
phpbrew switch php-7.3.x
Install Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"
Installation
Please check the official laravel installation guide for server requirements before you start. Laravel Official Documentation
Clone this repository
git clone git@github.com:relawancovid19/lab-information.git
# Switch to the repository folder
cd lab-information
chmod +x artisan
git fetch origin develop:develop && git checkout develop
Install Dependencies
composer install
Copy the .env.example
file to .env
cp .env.example .env
Generate App Key
php artisan key:generate
Database Migration
Create new database and setup the .env
file
php artisan migrate
Database Seeder
composer dump-autoload
php artisan db:seed
Install on Docker
Prerequisites
- Install Docker
- Clone this repository
- Create docker network
docker network create covid19id
- Install mysql with docker and connect to network
covid19id
Create project image
docker build -t covid19id_lab .
Create project container
docker run -d --name <container_name> -p <the_port_you_want>:80 covid19id_lab:latest
Note :
- Make sure mysql and project container are in 1 docker network, so they can communicate with each other
Check Code
Run Check Code
# Check code metric
vendor/bin/phpmd app text phpmd_rulesets.xml
vendor/bin/phpmd tests text phpmd_rulesets.xml
# Check code standard
vendor/bin/phpcs app --standard=PSR2 -n
vendor/bin/phpcs tests --standard=PSR2 -n
or you can run all of these commands with the make
command
make test
Directory Structure
We use Laravel 7, please visit Laravel Directory Structure for a description of the directory structure.
Contributing
When contributing to this repository, please note we have a code standards, please follow it in all your interactions with the project.
Steps to contribute
- Fork this repository.
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Submit pull request.
Note :
- It's recommended to run Check Code command before submit a pull request.
Contributors
Thanks goes to these wonderful people:
- Relawan COVID-19 Indonesia
- Andi Siswanto @andisis
- Arya Kusuma @localhost94
- Humam Al Amin @humamalamin
- Iskandar Soesman @ikandars
- Septian Hari @LIQRGV
Deployment
Coming soon