Git Product home page Git Product logo

oneday-java's Introduction

Preconditions & Hints

Timebox: Maximum 3 hours

Please fork this repository and share your approach via a link to your repository.

Story for Java Backend Developer

User Story

As a service technician I would like to get the standard minimum outdoor temperature for an installation address in France, so that I can scale the heating system properly.

Background / Description

We need to add a new microservice to our existing Vaillant API environment to get the standard minimum outdoor temperature for a given address that can be used by our service technicians to recommend a heatpump-based heating system to the customer.

The service should take an address as argument and use an arbitrary maps API (like OSM or Google Maps) to retrieve the altitude in meters. In the next step the altitude / postal code has to be compared with our data from the country (France) to finally calculate the temperature by adding the temperature offset for the given altitude to the temperature for the given postal code. Because the data may change often, it should be stored in a database to avoid unnecessary redeployments of the application.

Definition of Ready

Done Content
โœ… Datasets of standard minimum outdoor temperatures are provided (see: datasets/*.json)

Definition of Done

  • Service is tested adequately with a testing framework of your choice
  • All changes are committed and pushed to a Git repository
  • The application can be built without errors and produces a potentially shippable artifact (e.g. a JAR or WAR)

Acceptance criteria

  • The service is written in Java and Spring (no further constraints)
  • The service exposes its functionality via a RESTful API where the request/response is encoded in JSON.
  • The API accepts an address as argument - either as a single or split into multiple parameter (will only be tested with french addresses)
  • The API returns the altitude and the standard minimum outdoor temperature as response.
  • Mapping data between postal codes / altitudes / temperatures is imported and stored within a database of your choice
  • The application can be built using either Maven or Gradle and should produce a potentially shippable artifact (JAR/WAR)

Out of scope

  • Any kind of authentication or authorization (e.g. OAuth2)

Nice to Have

  • The artifact resulting from the build of the application is a self-contained JAR, that doesn't require running a separate servlet container.

oneday-java's People

Contributors

nobvaillant 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.