added README.md with application documentation

This commit is contained in:
steam 2020-02-28 22:59:22 +01:00
parent 439c1560d8
commit 8d43230522

View File

@ -1,4 +1,94 @@
# my-small-satellite
A coding challenge solution for UP42
A coding challenge solution `my-small-satellite`
#### Requirements
- [maven 3](http://maven.apache.org/download.cgi)
- [openjdk-8](https://openjdk.java.net)
- [git](https://git-scm.com)
#### Quick start
- clone the repository
```bash
git clone https://poweronoff.click/steam/my-small-satellite.git
```
#####Test
To test the application you can run the following command in the application directory:
````bash
mvn clean verify
````
#####Build
To build the application you can run the following command in the application directory:
````bash
mvn clean package
````
#####Configure
You have to configure the application. To do this, you have to create application.properties with following content in a same directory wit your JAR file.
```
# configuration for the json data storage relative path
storage.file.path=json/source-data.json
```
Please replace the value of `storage.file.path` with your own. You can use relative and absolute path to your source-data.json file
#####How to run
```bash
java -jar my-small-satellite-<Version>.jar
```
####API Documentation
you can reach the REST-API under port `8080` on the `localhost`
#####List of features
```bash
GET http://localhost:8080/features
```
This call will return a list of features as json in following format:
```json
[
{
"id": "39c2f29e-c0f8-4a39-a98b-deed547d6aea",
"timestamp": 1554831167697,
"beginViewingDate": 1554831167697,
"endViewingDate": 1554831202043,
"missionName": "Sentinel-1B"
},
{
"id": "cf5dbe37-ab95-4af1-97ad-2637aec4ddf0",
"timestamp": 1556904743783,
"beginViewingDate": 1556904743783,
"endViewingDate": 1556904768781,
"missionName": "Sentinel-1B"
}
...
]
```
#####One special feature representation
```bash
GET http://localhost:8080/features/{id}
```
where `id` is a feature ID. This call will return a single representation for the given feature ID in following format:
```json
{
"id": "39c2f29e-c0f8-4a39-a98b-deed547d6aea",
"timestamp": 1554831167697,
"beginViewingDate": 1554831167697,
"endViewingDate": 1554831202043,
"missionName": "Sentinel-1B"
}
```
#####Image for the single feature
```bash
GET http://localhost:8080/features/{id}/quicklook
```
This call will return a picture for the given feature ID
Enjoy ٩(◕‿◕。)۶