Build a simple social networking application, similar to Twitter, and expose it through a web API. The application should support the scenarios below.
A user should be able to post a 140 character message.
A user should be able to see a list of the messages they've posted, in reverse chronological order.
A user should be able to follow another user. Following doesn't have to be reciprocal: Alice can follow Bob without Bob having to follow Alice.
A user should be able to see a list of the messages posted by all the people they follow, in reverse chronological order.
- Code: Java 8, Spring Boot, Spring Web Framework, Gradle
- In memory storage
- Application splitted into 3 sub apps
- Functional tests: Spock, Groovy, Spring Mock MVC
- Application architecture - MVC & Ports-And-Adapters
- Solution time: 2 days - most of the time I spent on writing tests
- Added Actuator - just for fun
- Deploy application on AWS - use this address in POSTMAN for proper POST request handling
- use gradle: ./gradlew bootJar
- java -jar twitter-rest-api/build/libs/cats-0.1.2.jar
- http://localhost:8080/create_post/username1
- http://localhost:8080/create_post/username2
- http://localhost:8080/follow/username1/username2
- http://localhost:8080/wall/username1
- http://localhost:8080/timeline/username1
Actuator - mappings: