Fetch the data and host the JSON-Server website. This project contains two parts:
- Python part: To fetch the latest astros data
- Node JS part: To host the JSON-Server website
Create a new Bing Resource instance. Take the first & secondary key and save them in .env file (See .env.example
for example).
Prerequisites: Node & Python 3.x
Install required packages
pip install -r requirements.txt
Run the fetcher
py fetcher.py
npm install
Then
npm start
flowchart TD
subgraph "External API"
A(OpenNotifyAPI) & B(Bing API)
end
B <--> C
A <--> C
subgraph fetcher.py
C[[Fetch latest astros data]] --> D[(db.json)] & E[(log.json)] --> F(Commit & push)
end
F -->|Railway build triggered| G[Deployed to Railway]
db.json contains the actual astronauts' database. log.json will store the date & time of the fetcher run.
The fetcher.py is scheduled to run automatically via GitHub action. The frequency is as defined in fetcher.yml script.
Hosted on Railway.