An api that stores and retrieves widgets.
- Java 8
Project must be imported into intellij as a gradle project.
- Building can be accomplished by clicking the hammer icon in intellij.
- Right click on test package and select the run test option from the context menu
- Click the debug or play button in intellij with the ApiWidgetApplication config selected. You can also open the ApiWidgetApplication.java file and there should be a play button straight left of the class declaration in the gutter.
Commands below can be executed in linux and mac with a properly configured JVM. Windows users will need to use the gradlew.bat instead of gradlew.
./gradlew clean build
./gradlew clean bootRun
Here are the items we would like to implement in the API. Feel free to tackle as many (or few) items as you have time for. This is not an ordered list in any way and you should be able to complete most of these tasks independently of the others.
- Implement a create gadget endpoint in the controller layer.
- Implement a find all gadgets endpoint in the controller layer.
- Return associated gadgets with widgets in the controller layer.
- Rather than returning a list of widgets, we would like to return a paged response from the find all widgets endpoint.
- Optionally write tests for the above tasks.
The api was created using spring boot and implementing the controller-service-repository pattern. The DTOs (Data transfer objects) and the entities have been setup to give all the information that is needed to complete the tasks above. Comments are appreciated on the code where appropriate. Feedback on the difficulty of the tasks and possible next steps for the API is also welcome.