Production Infrastructure

This website is deployed for free on Render. Render provides hosting for web applications with pricing primarily based on a tier system. Adherence to the free tier results in time to intially spin-up the service when initially accessed after a period of inactivity, as well as expiration of the PostgreSQL database after a 30 day period. This is in addition to limits on CPU, storage, runners for CI/CD pipelines etc. which make up the tier-based pricing system. Render was chosen for hosting due to the availability of the free services. It also provides some security (e.g. against DDoS attacks) as well as automatic deployment when commits are added to the main git branch for the project.

External APIs are accessed by both the client and the server, with Mapbox used to provide a map tile for the station game (client-side) and Network Rail Enquires used to pull latest train information (server side).

Stack

Python

Python

Flask

JavaScript

JavaScript

PostgreSQL

PostgreSQL

Production Diagram

Website Production Diagram