Nouredin Ouhaddou (rakati)
Code in this repository is provided under the terms of the MIT license.
Gemography backend-coding-challenge is about creating REST microservice that list the languages used by the 100 trending public repos on GitHub.
- For every language, we need to calculate the attributes below 👇:
- Number of repos using this language
- The list of repos using the language
- Framework popularity over the 100 repositories
This is a simple REST API that list the list the languages used by the 100 based on straightforward algorithm which is the most starred repositories created on last month, also the api provide also the trending Github developers.
- For Framework popularity over the 100 repositories the github API doesn't provide repository framework, so I didn't do it.
- Flask : lightweight WSGI web application framework
- Flask-limiter : for rate limiting
- Flask-swagger-ui : for the documentation
- Flask-caching : for caching responses
- Docker
- Web browser (chrome)
- clone the project
git clone https://github.com/rakati/United-remote_Backend_challenge.git
- cd into project directory
cd United-remote_Backend_challenge
- Build docker image of the API
docker build -t flaskapp .
- Run the docker container
docker run -it -d -p 8100:8100 flaskapp
Now the API is working on http://localhost:8100/
The documenation is built with Swagger UI, A beautiful and interactive documentation check this url documentation
Entry point | description |
---|---|
/ | get global info |
/languages | list all languages in 100 trending github repos |
/developers | list github trending developers (optional query since=['daily', 'weekly', 'monthly]) |
/developers/language | list github trending developers by language (optional query since=['daily', 'weekly', 'monthly]) |