https://github.com/selharem/express-github-api
List the languages used by the trending repos in the last 30 days
https://github.com/selharem/express-github-api
api expressjs github-api github-search javscript nodejs rest-api
Last synced: 25 days ago
JSON representation
List the languages used by the trending repos in the last 30 days
- Host: GitHub
- URL: https://github.com/selharem/express-github-api
- Owner: Selharem
- Created: 2021-12-28T09:15:11.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-01-16T11:59:38.000Z (about 4 years ago)
- Last Synced: 2025-01-24T07:29:43.372Z (about 1 year ago)
- Topics: api, expressjs, github-api, github-search, javscript, nodejs, rest-api
- Language: JavaScript
- Homepage: https://medium.com/@selharem/api-design-101-build-a-nodejs-rest-microservice-using-github-apis-3d563af71ce0
- Size: 44.9 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Express-Github-API
This a REST microservice developed using Expressjs.
# Functional specs
* The API lists the languages used by the trending public Github repos.
* It calculates the total number of the repos (100 repos - repos with `null` language)
* For every language, it returns :
* The number of repos using that language.
* The list of those repos.
# Technologies Used
* [Nodejs](https://github.com/nodejs/node) : JavaScript runtime enviromment.
* [Express](https://github.com/expressjs/express): Node.js web application server framework.
* [axios](https://github.com/axios/axios) : Promise based HTTP client for the browser and Node.js.
* [GitHub REST API](https://docs.github.com/en/rest) : APIs to interact with Github and fetch public informations about it.
* [Moment.js](https://github.com/moment/moment) : JavaScript date library.
# Available Endpoints
Verb | endpoint | description |
--- | --- | --- |
GET | /api/repos/ | Lists the trending languages in the last 30 days |
GET | /api/repos/{date} | Lists the trending languages in the last 30 days from the given date|
# Expected response
```json
{
"total_count": "x",
"result": [
{
"language": "languageX",
"number of repos": "x",
"repos ": [
"repo1",
...
"repoN"
]
},
...
]
}
```
# Getting Started
* Clone the repo :
```shell
git clone https://github.com/Selharem/Express-Github-API.git
```
* Install the dependencies :
```shell
npm install
```
* Start the server :
```shell
npm start
```
Now, the app is running at http://localhost:5000 !
# Happy Coding
Made with ❤️ By Elharem Soufiane>