首页 > > 详细

解析BMW AG - Location Based ServicesJava、Java REST API 程序讲解、辅导留学生Java设计

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 web-
service 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 

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!