Skip to content
@f1betting

F1 Betting

F1 betting!

F1Betting

Betting on Formula 1 races!
View repositories

📋 Table of contents

ℹ️ About The Project

This project contains the repositories for the research part of my internship about API and API gateways.

(back to top)

🚧 Built With

APIs:

  • Python
  • FastAPI
  • MongoDB

Web application:

  • Yarn
  • Vite
  • Vue.js
  • Typescript
  • Tailwind

Automation and deployment:

  • GitHub-Actions
  • Google-Cloud
  • Krakend

(back to top)

🚦 Repository statuses

A tool to batch-convert OpenAPI 3.0 files to a flexible KrakenD configuration

GitHub Latest Version
SonarCloud coverage SonarCloud quality gate SonarCloud code smells GitHub Workflow Status

A KrakenD plugin which injects a Google Service Account in the Authorization header

GitHub Latest Version
GitHub Workflow Status

An API to do bets with your friends about F1 race results!

GitHub tag (latest by date) Docker version
SonarCloud coverage SonarCloud quality gate SonarCloud code smells GitHub Workflow Status

🚗 F1API

A more user-friendly way to use ergast.com

GitHub tag (latest by date) Docker version
SonarCloud coverage SonarCloud quality gate SonarCloud code smells GitHub Workflow Status

A basic front-end to interact with the F1Betting API

SonarCloud coverage SonarCloud quality gate SonarCloud code smells

(back to top)

🚀 Usage

To view more information about each project, please check out every individual repositories' README.md to learn more about each project.

(back to top)

🏛️ Architecture

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

🚜 Basic architecture

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.

🏎️ Advanced architecture

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.

📊 Sequence diagram

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).

(back to top)

📜 License

Distributed under the MIT License. See LICENSE.md under each repository for more information.

(back to top)

Pinned Loading

  1. F1Betting F1Betting Public

    An API to do bets with your friends about F1 race results!

    Python 1

  2. F1API F1API Public

    A more user-friendly way to use ergast.com

    Python 2 1

  3. F1FrontEnd F1FrontEnd Public

    A basic front-end to interact with the F1Betting API

    TypeScript 1

Repositories

Showing 7 of 7 repositories
  • OpenAPItoKrakenD Public

    A tool to batch-convert OpenAPI 3.0 files to a flexible KrakenD configuration

    f1betting/OpenAPItoKrakenD’s past year of commit activity
    Python 2 MIT 1 0 0 Updated Jan 13, 2023
  • krakend-cloud-run-service-account Public

    A KrakenD plugin which injects a Google Service Account in the Authorization header

    f1betting/krakend-cloud-run-service-account’s past year of commit activity
    Go 0 MIT 0 0 0 Updated Jan 4, 2023
  • .github Public
    f1betting/.github’s past year of commit activity
    0 0 0 0 Updated Jan 2, 2023
  • OpenAPItoKrakenD-cloud-run Public archive Forked from f1betting/OpenAPItoKrakenD

    A fork of OpenAPItoKrakenD which works with the krakend-cloud-run-service-account plugin

    f1betting/OpenAPItoKrakenD-cloud-run’s past year of commit activity
    Python 0 MIT 1 0 0 Updated Jan 2, 2023
  • F1Betting Public

    An API to do bets with your friends about F1 race results!

    f1betting/F1Betting’s past year of commit activity
    Python 0 MIT 1 0 0 Updated Dec 20, 2022
  • F1API Public

    A more user-friendly way to use ergast.com

    f1betting/F1API’s past year of commit activity
    Python 2 MIT 1 0 0 Updated Dec 20, 2022
  • F1FrontEnd Public

    A basic front-end to interact with the F1Betting API

    f1betting/F1FrontEnd’s past year of commit activity
    TypeScript 0 MIT 1 0 0 Updated Nov 21, 2022

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…