- All photos are saved to relative
./downloads
directory - Photos are in a nested directory, divided by
earth_date
param, using the following format:yyyy-mm-dd
- Built with java 1.8
- Currently integrated with Travis-CI HoundCI, & Sonar for CI, Checkstyles, & Code Analysis, respectively
- Sonar report: https://sonarcloud.io/dashboard?id=MarsRoverPhotoDownloader
- Configure properties in
~/src/main/resources/application.yml
- Run
$ ./gradlew bootRun
in terminal/cmd - Navigate to
localhost:8090
or check terminal/cmd for tomcat port info - Specify camera type, select ALL to download all images captured on that day
- Specify date, currently String input
- Specify number of images to download for that day, if number is larger than available images, it will be ignored
- Submit and wait for results
- Check download directory for images
- Run
$ ./gradlew bootRun
in terminal/cmd - Navigate to {basePath}/api/v1/photos/{date}?param1={value1}¶m2={value2}&...
- Examples:
- browser:
localhost:8090/api/v1/photos/2017-12-15?camera=FHAZ
- terminal/cmd:
$ curl localhost:8090/api/v1/photos/2017-12-15?camera=FHAZ
- browser:
Param | Description | Default | Required? | Values |
---|---|---|---|---|
camera | Camera photos to download | null | no | FHAZ,NAVCAM,MAST,CHEMCAM,MAHLI,MARDI,RHAZ |
- Run
$ ./gradlew test
in terminal/cmd
- Enhancement to extract client and build service jar
- Include command line runner implementation so the required params can be passed as command line arguments
- Include performance tests
- Threaded calls
Are you up to the Challenge? Please take the following coding challenge and upload your solution to your github.
Please note we are not looking for an exhaustive design more something to indicate
they know how to work with the things we use on a daily basis.
This should work for both front end and back end.
Using the API described here (https://api.marsrover.gov/api.html)
build a project in GitHub that calls the Mars Rover API and selects a picture on a given day.
The attached .txt file will list the dates the images were captured.
We want your application to download and store each image locally.
Acceptance Criteria
- Please send the link of the GitHub repo as the answer to the question
- Language choice is up to you
- We should be able to build it locally after you submit it
- Include relevant documentation
- Bonus points for Unit Test, Static Analysis and Performance test