Betting on Formula 1 races!
View repositories
This project contains the repositories for the research part of my internship about API and API gateways.
APIs:
Web application:
Automation and deployment:
A tool to batch-convert OpenAPI 3.0 files to a flexible KrakenD configuration
A KrakenD plugin which injects a Google Service Account in the Authorization header
An API to do bets with your friends about F1 race results!
🚗 F1API
A more user-friendly way to use ergast.com
A basic front-end to interact with the F1Betting API
To view more information about each project, please check out every individual repositories' README.md
to learn more
about each project.
The recommended way to deploy the full application is by using an API gateway. This allows for detailed logging & metrics, as well as extra security.
The APIs and KrakenD gateway are currently automatically deployed to Google Cloud Run via GitHub Actions. To view more information about the KrakenD deployment, check out OpenAPItoKrakenD
The basic architecture does not utilize an API gateway. Instead, all the API's call eachother directly. This is the easiest way to get started.
The MongoDB database can be run using Docker or you can use a cloud environment such as MongoDB Atlas.
Alternatively you could use an API gateway such as KrakenD or Gravitee. This allows for detailed logging & metrics, as well as extra security.
The MongoDB database can be run using Docker or you can use a cloud environment such as MongoDB Atlas.
Note that the F1Betting and F1API APIs communicate to each other through the gateway.
Below is a sequence diagram that utilizes the gateway architecture. The processes shown here are the sign-in process (flow 1) and the process of creating a new bet (flow 2).
Distributed under the MIT License. See LICENSE.md
under each repository for more information.