Complete question:
1. Create a publicly accessible repository in any VCS – Commit history, branching methods, and merging strategies has weightage in assessment.
2. Keep everything pep8 complaint and add maximum documentation – Keep it pythonic.
3. Create a python project which has 3 components – This a full implementation of a proxy web server project
a. wsgi server (use of any framework allowed)
b. Define API endpoint handler (2 endpoints)
c. DB connector sample – unused in project (SQL & NoSQL)
4. Add serializer and deserializer for endpoints – stub methods are allowed – get creative here.
5. Create an API client class to make HTTP calls to external API endpoints (use http://dummy.restapiexample.com/ endpoints for this project).
6. Have the controller invoke the API client to retrieve results from the above endpoint and ship them as a response to this project’s API endpoint.
7. Make sure POST request is also handled via a proxy method.
8. Log every possible detail – a local file handled by a class method or any framework Task – High weightage
1. Bootstrap the entire project into self-building docker containers (2 containers – 1 GET, 1 POST), triggered by a shell script – use docker-compose.
2. Keep both endpoints isolated in runtime but within a single project. Microservice architecture invoked by a shell script like “ $python app.py ‘service_method’ “ where service method can be employee_get which would start an app to listen to only get requests and make sure dependencies are only of this method and not of the whole project.
3. Use a nginx instance (containerized) which routes requests to appropriate containers
Expectations:
Core Skills:
All configuration parameters from a hierarchical YAML and other config elements from a TOML/INI Every action is script driven and documented VCS and tooling skills: