From 43e6374080c8b045ec6b744084a1e2e560c2ad2a Mon Sep 17 00:00:00 2001 From: Noel Palo Date: Mon, 11 Sep 2023 13:58:08 +0800 Subject: [PATCH 1/3] feature/BWA-9-weather-app-readme - Add ReadMe info --- README.md | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) diff --git a/README.md b/README.md index a088f61..2cfcee5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,136 @@ # Bizmates Ph Weather App Coding Exam +![Weather APP BUILD](https://github.com/nspalo/bizmates-weather-app-exam/actions/workflows/weather-app-ci-build.yml/badge.svg) + A simple weather forecasting application built with Laravel that can display weather update from Japan as a coding exam for Bizmates Ph + +---- + +# About the Weather App +- Is a simple web application built with laravel that can search a for a given location's coordinates and get the weather update and forecast. +- Uses Geoapify geocoding Api to get the geolocation and Open Weather Map Api to get weather data +- This project observes: + - PSR Coding Standards + - Object-Oriented Principles / DRY / KISS + - SOLID Principles / Clean Code + - Automated coding standard checking using PhpStan & Easy Coding Standard + - Automated testing using PhpUnit + +## Web Stack +- Docker +- NginX stable-alpine +- PHP 8.1 fpm-alpine +- Composer 2.6.1 +- Node 20.6-alpine +- Laravel 9 +- Bootstrap 5 + +### Pre-requisite +- Docker +- Geoapify Account + - Generate API Key +- Open Weather Map Account + - Generate API Key +- Configure the API Keys in the `.env` file + - `See: /src/.env` + - For more info, check `/src/config/services.php` + +## Set Up Procedure +### Step 1: Service containers - Building, Starting, and Stopping +``` +// Building the services/containers +> ./scripts/build.sh + +// Starting the services/containers +// - optionally add the -d (detach) flag to run in the background +> ./scripts/up.sh -d + +// Or do a one-liner command for the build and start process +> ./scripts/up.sh -d --build + +// Stoping the services/containers +// - To stop a specific service add the continer name +> ./scripts/stop.sh <_ContainerName_> + +// Tear down routine +// - optionally add the -v to remove the images +> ./scripts/down.sh -v +``` + +### Step 2: Packages and Dependencies +``` +// Running composer install +> ./scripts/composer.sh install +> ./scripts/composer.sh dump-autoload + +// Running NPM +> ./scripts/run.sh npm install +> ./scripts/run.sh npm run build + +// Copying Laravel .env file +> ./scripts/composer.sh run post-root-package-install + +// Generating Key +> ./scripts/artisan.sh key:generate + +``` + +### Step 3: Accessing the site +Hit the browser at `localhost:8080` + +### API Endpoint +`localhost:8080/api/weather-update?location=Some-Location` + +where `?location=` is query string for the location to check for weather update/forecast + + +---- + +## Code Quality and Testing +``` +// Running PhpStan +> ./scripts/composer.sh run phpstan + +// Running Easy Coding Standards for the entire project +./scripts/composer.sh run ecs-all + +// Running Easy Coding Standards for App or Test ONLY +./scripts/composer.sh run ecs-app +./scripts/composer.sh run ecs-test + +// Running Auto-Fix for ecs +./scripts/composer.sh run ecs-fix-app +./scripts/composer.sh run ecs-fix-test + +// Running Automated Test with PhpUnit +./scripts/composer.sh run phpunit + +``` + +---- + +## BizmatesPh Coding Exam Requirements +### Background +- This page aims to provide travel information of Japan for foreign tourists visiting Japan for the first time. + +### Tech Stack +- PHP (version 8+ preferred) +- Framework Laravel (any version) +- HTML5, CSS3, Javascript ES5/ES6 or any JS Library preferred (VueJS is a plus) +- Responsive Design (Desktop and Mobile) +- API Endpoints +- Automated Testing + +### Submission method +- Provide a github repository once finished +- Development should be within 4 - 5days + +### API Service +- Open Weather Map's Daily API +- Foursquare Search Venue API + +### Code Quality +- PSR Coding Standards 1,2,4 & 12 +- Object-Oriented Principles + Clean Code & SOLID Principles +- Google JavaScript Style Guide +- Google HTML/CSS Style Guide From 9612d11d3a41e0730d54c9d21a1c6d1aea1c3483 Mon Sep 17 00:00:00 2001 From: Noel Palo Date: Mon, 11 Sep 2023 14:32:03 +0800 Subject: [PATCH 2/3] feature/BWA-9-weather-app-readme - Add sample image --- docker/documents/weather-app-sample-image.jpg | Bin 0 -> 77633 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docker/documents/weather-app-sample-image.jpg diff --git a/docker/documents/weather-app-sample-image.jpg b/docker/documents/weather-app-sample-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ebb589346a8ba989b7f1465e16995bc183ed5ce GIT binary patch literal 77633 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

^MWRl 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 I((&Z~06LVR@c;k- literal 0 HcmV?d00001 From fdbcf178485464144b7fa281f75cf35185947853 Mon Sep 17 00:00:00 2001 From: Noel Palo Date: Mon, 11 Sep 2023 14:36:40 +0800 Subject: [PATCH 3/3] Update README.md Update ReadMe Add sample images --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2cfcee5..7e4c841 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ A simple weather forecasting application built with Laravel that can display wea - Automated coding standard checking using PhpStan & Easy Coding Standard - Automated testing using PhpUnit +![Weather App](https://github.com/nspalo/bizmates-weather-app-exam/blob/feature/BWA-9-weather-app-readme/docker/documents/weather-app-sample-image.jpg) + ## Web Stack - Docker - NginX stable-alpine