Create a simple application that:
Exposes a simple REST API that allows users to:
- (Done) Allows users to submit/post messages
- (Done) Lists received messages
- (Done) Retrieves a specific message on demand, and determines if it is a palindrome.
- (Done) Allows users to delete specific messages
- (Done) Provides a simple UI to interact with the service:
- (Done) Shows the list of messages posted by the users
- (Done) Allows to post new messages
- (Done) Allows to select a given message to see extra details
- (Done) The application is deployed to a Cloud Provider (AWS is preferred)
- (Done) A Compute instance is provisioned programmatically
- (Done) Application can be reached via public DNS record
(Extra points) Functional and System Tests(Extra points) Application is deployed in a container
- Extra information can be requested by e-mail.
- Code should have a permissive license.
- Any programming language can be used.
- Use of proprietary tools/libraries is discouraged.
Code should be committed to a public GitHub/Bitbucket repository:
- (Done) The repo includes service, UI, and provisioning code.
- README.md Includes:
- (Done) Brief description of the implementation architecture.
- (Done) Sequence diagram of the use cases' interactions.
- (Done) How to: build, deploy and access the app.
- (Done) REST API documentation.
- (Done) A URI to the app should be provided.
Be prepared to discuss the architectural design and implementation details of your project.
- Code quality, ie: Style, complexity, good practices.
- Application architecture, ie: Design patterns, modularity.
- API design quality, ie: Follows standards and good practices.
- Documentation quality, ie: Content quality, completeness and accuracy.
- Deployment automation, ie: Reduced number of manual steps.