You have been selected to work on the backend of a new movie ticketing website (like https://bookmyshow.com). At a minimum, the website is expected to have the following features - 1. Ability to view all the movies playing in your city 2. User Sign up and login 3. Ability to book a ticket. (No payment gateway integration is required. Assume tickets can be booked for free) Your task is to build the APIs in Nodejs which covers the above functionalities including the database. We have no requirements for which frameworks/libraries and database to use, choose whichever seems best suited for the task! Mandatory Deliverables 1. The API to book a ticket should be protected i.e. only a logged-in user should be allowed to access that API. Rest, all other APIs are public endpoints 2. All the code should be well-styled with proper namings. We pay a lot of attention to code-styling. 3. Include unit tests 4. Use Git for version control, and host the project in a public Github repository. Share the Github link with us. 6. Design the APIs as stateless microservices 7. Use Dependency Injection 8. Implement CICD using Jenkins/Azure DevOps/CircleCI or any other CICD service 9. Host the service in a Public Cloud (Eg AWS or Azure or similar). 10. Write the instructions on how to build and run the application in the readme file in the repository. Earn extra brownie points by doing the following - 11. Dockerize all the micro-services and host them using Kubernetes or similar. 12. Use a logging framework 13. Articulate the architecture and the rationale behind your design choice in the readme file in the repository. How to submit your works? ● Put all the code in a Github public repo and share the repo URL in reply to the assignment email ● Commit the pipeline/build config you have used for CICD in the same repo. ● Share a postman file in the email with links to the APIs hosted in the public cloud.