As part of enhancing our internal services which are available to our employees, we would like to build a Twitter like solution for our employees, where employees can tweet and have followers.
-
High-Level Requirements :
- We have 10K employees
- Employees can follow their colleagues, post (or tweet) messages to their followers
- Use corporate LDAP for user Management
- On an average, every employee will send approximately 10 messages a day to their followers
- On the home page we need to show 100 most recent tweets. Optionally you can support pagination.
- You are welcome to assume unspecified requirements to make it better for the customers
- Come prepared with High-level Architecture and Design.
- You are expected to explain the rationale for your choice of technologies and architectural patterns
-
Programming Problem
- In the above exercise, please build a RESTful service
- /feed : To list 100 recent tweets for the logged in user
- In memory database is sufficient. Optionally, you are welcome to use a persistent data store of your choice.
- You are encouraged to take advantage of a service code-generation framework of your choice when performing this exercise. Please use industry standard coding best practices keeping in mind maintainability.
The feed-micro-jwt
folder contains two jhipster generated microservices and a jhipster generated docker-compose configuration
- feed-micro-jwt/app: Backend java microservice code containing REST API endpoints for
Tweet
andTweetAuthor
entity operations as well as the/feed
endpoint - feed-micro-jwt/gateway: Frontend AngularJS microservice code handling authentication and API routing
- feed-micro-jwt/docker-compose: Docker compose definitions for development microservice orchestration
- feed-micro-jwt/schema: Simple JHipster JDL entity schema