联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2018-11-10 10:07

BMW AG - Location Based Services – Software Development

Creating a REST API for vehicle position data

Today’s vehicles are connected and can constantly transmit anonymized information to backend

systems. This information can be used for fleet intelligence and services like real-time traffic information,

or for customer-related features like find-my-car. Your task is to create a REST API that can receive,

process and store vehicle movement information.

Mandatory Task

Implement a web service that can receive vehicle position data. Data is defined by the following

attributes

timestamp: long

latitude: double

longitude: double

heading: integer

session: string

Please design and implement a REST web-service that is capable of receiving one position per request.

The position data is uploaded for a certain vehicle. Concurrent uploads by multiple vehicles must be

supported. The received position data shall be stored internally on the back-end server. Persistent

storage of these observations is not required.

The web-service shall then provide APIs to:

get all sessions of a vehicle in correct ordering

get a single session as an ordered list of the received positions by timestamp

get the last position of a certain vehicle

The definition of an appropriate data model is up to you. You are free to design your solution as you

want or use any desired libraries as long as

The application uses a REST interface for communication with the vehicles and communicates via

HTTP.

The endpoints shall be protected by an appropriate authentication method.

Your application is written in Java, JavaScript or TypeScript.

Your application should be easily deployable and runnable. We should be able to run your webservice

with only minimal manual effort on a standard Ubuntu Linux or Windows. A Java 8

runtime environment or NodeJS 8 will be available.

The application is provided as a self-contained project or uses a dependency manager like maven

to include required libraries. Building and running the program has to be very simple.

Extensions

In case you want to, feel free to pick from the following extensions to extend your solution. We

absolutely do not expect you to do this as part of the application process.

Implement persistence for your data using a database of your choice. If possible, the database

program/library shall be embedded into your artifact with your build.

BMW AG - Location Based Services – Software Development

Implement a very simple client that consists of one web page with a map view using UI

frameworks of your choice. The user shall be able to select a vehicle and view all data of the

selected vehicle on the map. The user shall be able to navigate on this map.

Submission

Your submission shall contain the following

All your source code

A deployable artifact

A short guide on how to build and run your web-service

A sample script to inject the attached observations either in form of a shell script using CURL

Documentation about the URLs to retrieve the data

Evaluation Criteria

For us this assignment helps to get insight into your style of software engineering and coding. In large

companies it is essential to write good quality code that can easily be understood or extended by other

developers.

Attachments

A csv file of sample position data.

Notes

We are aware that the above task description might contain ambiguities. In case you feel that the above

requirements are not clear or something essential is missing feel free to make an assumption and note

your assumptions when you submit your solution or send us an email.

Happy Coding


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp