ahonson/weather

View on GitHub
README.md

Summary

Maintainability
Test Coverage
[![Latest Stable Version](https://poser.pugx.org/artes/weather/v)](//packagist.org/packages/artes/weather)
[![Total Downloads](https://poser.pugx.org/artes/weather/downloads)](//packagist.org/packages/artes/weather)
<!-- [![Latest Stable Version](https://poser.pugx.org/artes/weather/v/stable)](https://packagist.org/packages/artes/weather) -->
[![Build Status](https://travis-ci.com/ahonson/weather.svg?branch=main)](https://travis-ci.com/ahonson/weather)
[![Gitter](https://badges.gitter.im/ahonson/weather.svg)](https://gitter.im/ahonson/weather?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Maintainability](https://api.codeclimate.com/v1/badges/37e71c6e5603861da840/maintainability)](https://codeclimate.com/github/ahonson/weather/maintainability)
[![CircleCI](https://circleci.com/gh/ahonson/weather.svg?style=svg)](https://circleci.com/gh/ahonson/weather)


[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/ahonson/weather/badges/quality-score.png?b=main)](https://scrutinizer-ci.com/g/ahonson/weather/?branch=main)
[![Code Coverage](https://scrutinizer-ci.com/g/ahonson/weather/badges/coverage.png?b=main)](https://scrutinizer-ci.com/g/ahonson/weather/?branch=main)
[![Build Status](https://scrutinizer-ci.com/g/ahonson/weather/badges/build.png?b=main)](https://scrutinizer-ci.com/g/ahonson/weather/build-status/main)
[![Code Intelligence Status](https://scrutinizer-ci.com/g/ahonson/weather/badges/code-intelligence.svg?b=main)](https://scrutinizer-ci.com/code-intelligence)


Anax module for weather services and IP validation
==================================================

This module has been created for the course *Webbaserade ramverk och designmönster* at Blekinge Tekniska Högskola, fall 2020. The module is meant to be incorporated with the [Anax](https://github.com/canax/anax-ramverk1-me) framework.

## Usage

### Step 1: Install the module using composer.

`composer require artes/weather`

### Step 2: Integrate the module into your Anax base by copying the necessary files

`# Go to the root of your Anax base repo and run these two commands`

`rsync -av vendor/artes/weather/config ./`

`rsync -av vendor/artes/weather/view ./`

Run even these commands if you want to execute the unit tests of the module with `make test` from the root of you Anax base.

`rsync -av vendor/artes/weather/src ./`

`rsync -av vendor/artes/weather/test ./`

### Step 3: Add your API-keys

The module makes use of [ipstack](https://ipstack.com/) and [openweathermap](https://openweathermap.org/) to provide the user with information about a given IP-address or about a valid pair of geographical coordinates.

Create an account on both sites and save your API-keys in `config/api/apikeys.php` according to the instructions in the comments. If you miss this step certain classes may not work as expected.

### Step 4: Protect your API-keys

Update your `.gitignore` with the following line in your Anax base.

`/config/api`

### Step 5: Update your navbar

Add *IP* and *Weather* to your navbar via `config/navbar/header.php` and via `config/navbar/responsive.php`

You will need to insert the following lines of code into the `items`-key in the above files.

```
[
    "text" => "IP",
    "url" => "ip/init",
    "title" => "IP validator",
],
[
    "text" => "Väder",
    "url" => "weather",
    "title" => "Väder API",
],
```