Giter Site home page Giter Site logo

weatherapp_backend's Introduction

weather_app_backend

Preparation Project

Weather JAVA EE + Angular+ UI

Project name: WeatherApp + Angular8+ Tech stack: J2EE, Angular8+

Lesson goals

Project made during application for Intern Position at ITWare.

To Run

// Clone the repository

  • git clone

// Run the project with your IDE using a Server (Glassfish / Tomcat)

Java EE 6+

  1. Java EE Project structure
  2. Rest WebServices (JAX-RS)
  3. Dependency Injection (DI)
  4. Java Persistence API (JPA)
  5. Background services (Scedulers)
  6. Access external services via Rest API (Rest Client)
  7. Authentication
  8. Session management

Homework description

Create a client-server application, the main function is to show a cities weather (temperature) data on a simple web interface, so we call our application "WeatherApp"

The main functions of the WeatherApp

  1. Enter a city name, and fint the weather information from a public, external API (eg. openweathermap.com)
  2. Save the weather information to local database for the city that was entered
  3. List the cities and weather information that are in our local database
  4. Can delete city from out local database
  5. Weather data is automatically refreshed in the background using a scheduled service

Use cases

  1. Add new city weather data
  2. Get list of weather data from our local database
  3. Delete city from our local database

Tasks to be completed

Backend

  1. Create and configure the JavaEE project, called WeatherApp
  2. Configure database 0. Create schema: weatherapp 0. Create table: weatherdata 0. cityname - name of the city 0. temperature - the last known temperature of the city 0. time - the time of the measurement
  3. Configure application server.
  4. Create services and Rest interfaces.
  5. Build and deploy application.
  6. Test application's Rest API

Checklist

Component Task Description Done (Y/N)
Backend Create project structure Create a new Java EE application project in your favorite IDE and configure it.
Backend Build and deploy project Build and run the empty project on a J2EE container server.
Database Create database schema and tables Create the necesary database schema and the tables.
Backend Create entity class and basic JPA functions Create model for watherdata and save it, load it from database successfully.
Backend Hello world Rest API Create a simple REST API which returns only "Hello Weather"
Backend Rest API: addCity Implement and test the addCity API. Save data to database.
Backend Rest API: listCities Implement and test listCities API. Have to load data from local DB.
Backend Rest API: deleteCity Implement and test deleteCity API. Have to delete data from local DB.
Backend openweathermap API client Implement a client that calls openweatherapi.org weather REST API by city name. The result must be saved to our local database.
Backend Scheduled update service Implement a the update service which update the cities data from the openweather api.
Backend Dependency Injection Use DI to use Java EE components: update service (EJB), entityManager (JPA) etc...
Backend Error handling Handle errors in the Rest API with general way.
Backend Logging Log the events what happens in the REST API.

Backend +

Frontend

CHECK ALL THE APPLICATION IS WORKING? CHECK ALL THE APPLICATION IS WORKING?

weatherapp_backend's People

Contributors

kaliloteixeira avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.