This is the third exercise for the professional python course. The purpose is to build an API for the CLI from exercise2
This task will be an advancement of the previous one by wrapping the functionality in an API. Create an API with the following routes:
- GET
/health/pingto check if the API is up (can be unauthenticated) - Require a GitHub token as authentication header and use this token for your API calls to GitHub within your API
- GET
/userto get details about the currently authenticated user - GET
/user/starsto retrieve the amount of GitHub stars of all repos from the authenticated user - GET
/user/statusto get the current status of the authenticated user (see task 2) - POST
/user/statusto set the users status to drinking tea (see task 2) - GET
/users/{username}to get data about the specified user - GET
/users/{username}/starsto get the amount of total stars from all repos of the specified user
What is important?
- Document your API endpoints (hint: if you do this right, it is done automatically)
- The API needs to be wrapped and published as a docker image
- Add a task command to start the docker image (makes life easier)
Create a python program to interact with GitHub and retrieve data. Add the following commands:
- Count all stars of all repos of yourself, a specified user or an organization.
- Print out details about yourself, a user or organization. Allow a nicely printed format as default and offer output as json too.
- One of the following:
- (easy) Modify your user description by adding a tea emoji and a heart.
- (difficult) Set your user status (top-right when clicking on username) to a tea emoji with the message "Drinking Tea".
Focus points:
- End-users will use your program so focus on usability
- Integrate previous lessons as much as it makes sense
Promt task to get a list of the tasks availabe and go for one of the options.
Use task api to start the api / webserver.