Skip to content

jLagosCarrera/MeteoApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeteoApp

MeteoApp is a weather forecast web app. MeteoApp is built with JavaScript over AngularJS framework along some libraries like uiRouter or Redux and API services from geoNames and openWeatherMaps.

Demo

There is a demo of the application hosted on Netlify with continuous deploys on the following link:

https://meteoapp.netlify.com

Index

  1. Introduction
  2. Local Deploy
  3. E2E Testing
  4. Dependencies
  5. Known Issues
  6. Contributing and Support
  7. Special Thanks
  8. License

Introduction

MeteoApp is an application developed entirely during my 3 month FCT internship on GBtec Software.

The main purpose of the application is learning about web development. The use of Javascript ES6+, modern framework like AngularJS, useful libraries used on big applications like uiRouter or Redux and handling geoNames and openWeatherMaps API calls for filtering the data retrieved by them. With all these new concepts and technologies learnt I was able to create and deploy a standard modern weather web application.

Local deploy

If you want to deploy this application locally on your computer you will need Node.js and npm which comes along with the Node installation.

Download this repository and after the download you need to add an .env file on the root folder of the application with the following API keys you can get for free:

OPENWEATHERMAP_API_KEY=(openWeatherMaps API Key)
GEONAMES_API_KEY=(geoNames API Key)
EMAILJS_API_KEY=(emailJS API Key)
EMAILJS_SERVICE=(emailJS mailing service)
EMAILJS_TEMPLATE=(emailJS template)

After this you are almost ready to go, just open a terminal on the repository folder, install all the dependencies and finally run the following commands:

  • dev -> Runs server locally on port 9000.
  • build -> Generates a build of the web on the dist folder.
npm i

npm run (command)

E2E Testing

Meteoapp comes packed with some E2E tests made with Protractor. To run them, you need to open the local development server on a terminal:

npm i

npm run dev

Also, you will need to open another terminal to open an Selenium server with Webdriver Manager, to achieve this, first assure we are up to date and then open the server:

webdriver-manager update

webdriver-manager start

You are ready to go and run the Protactor tests with the following command on a terminal:

npm run protractor

Dependencies

Known Issues

Known issues of the application are opened on the issues section of this repository. All of them are labeled and every new issue will be evaluated and solved so feel free to open a new issue if you find a problem or if you have any suggestion for the application.

Contributing and Support

Same as the known issues. Contributing is free and always welcome. I'm accepting every kind of contributions, going from little updates like typo corrections to big updates like new screens of the application and functionallities so feel free to make a new Pull Request!

If you find any trouble or problem with the app just let me know opening a new issue on this repo or contact me on [email protected]

Special Thanks

  • GBtec software, Cibrán Ledo for applying me for the FCT internship and giving me the oportunity to learn and work with new and modern web applications.
  • Jorge Villar, Diego Pascual and Eloy Castelo for taking time to explain new concepts and technologies used on this application. And of course, for taking time to review all the Pull Requests on this project along it's usual job tasks.
  • Samuel Figueirido for spending and sharing the time of the FCT internship with me, we, the both, have learnt a lot on these 3 months and we could know more about the eachother on that time.
  • Nuria Oujo for helping me with the design of the application despite I didn't pay too much attention because the quantity of tasks I had to do in the internship time.

License

    MeteoApp, Weather Web Application
    Copyright (C) 2019  Julio Lagos Carrera

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

About

MeteoApp is a Web Applciation made using AngularJS for displaying forecast predictions in desired places.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors