The Objective of this assignment is to understand your capabilities of working with REST API's.
This assignment will focus on GET
and POST
methods. You will have to familiarise yourself if you are not aware of these two methods.
This assignment also focus on how well you can design the UI. Refere the design folder
- For Android - We require you to work with Android Studio alone and preferably develop using Kotlin
- For iOS - Use Xcode only and preferably develop using Swift instead of Objective-C
-
The below url should be used as the base url when you are working with the API.
http://test.peppersquare.com
-
For the News Feedly App you will be developing you will be interacting with the below API.
http://test.peppersquare.com/api/v1/article
This is a REST API which is designed to work both for
GET
andPOST
methods. -
For more details regarding on how the API works please visit the below url
http://test.peppersquare.com/api-doc/
The url has the complete documentation of how the API mentioned in step 2 works and you can play around and get to know the API behavior.
-
The Author parameter in the API should be your name or email ID.
-
You can use the API to filter Articles for only 3 Parameters i.e.
id
of the article,author
andpublished
state of the article. Use this effectively so that you always see the articles published by you and not others. This is key to the app. -
Don't pass junk values to the API even when you are testing.
-
For Android
- Preferably use
Retrofit
,Volley
. - Bonus: Dagger2, RxJava, EventBus and MVP pattern.
- Preferably use
-
For iOS - You can use any Network Manager of your choice. Third Party or Native.
-
The App should not crash at any given point of time.
Please share the Github link of the completed project and commit the working apk along with the project to sam@peppersquare.com
.
If the API is not working or if you need any clarification please write your queries to saikiran@peppersquare.com
and we will get back to you.
Please reach out if truly necessary (Eg: If API is broken, If API is not behaving as expected). Please refrain from asking doubts on how the API works.
Hope you have fun doing this assignment!