From ce805556ec1dd4b24af9698dd8cc08c404cdf333 Mon Sep 17 00:00:00 2001 From: Paul Bienkowski Date: Sun, 28 Nov 2021 22:57:17 +0100 Subject: [PATCH] Update readme and link to new architecture docs, fix Sanic name --- README.md | 11 +++++++++-- deployment/README.md | 2 +- docs/architecture.md | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e5d563f..2b55d71 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,19 @@ This repository contains the source code required to run the [OpenBikeSensor](https://openbikesensor.org) data collection portal. It is separated into components: -* **api**: The backend service, written in JavaScript for Node.js, using - express.js, and a MongoDB for metadata storage. +* **api**: The backend service, written in Python 3 with + [Sanic](https://sanicframework.org/), + [SQLAlchemy](https://www.sqlalchemy.org/), and a PostgreSQL/PostGIS database + for storage. It also depends highly on + [OpenMapTiles](https://openmaptiles.org) to generate vector tiles of the + data. * **frontend**: A React single-page application that allows access to the data, provides summaries and visualizations, and lets users adjust settings and manage and publish their tracks. +Check out the [Architecture Documentation](docs/architecture.md) for more +details on what parts the whole application is made of. + ## Clone the Project First of all, you must clone this project. This project uses submodules, diff --git a/deployment/README.md b/deployment/README.md index fee0460..07d48ed 100644 --- a/deployment/README.md +++ b/deployment/README.md @@ -80,7 +80,7 @@ string. Also set `PROXIES_COUNT = 1` in your config, even if that option is not included in the example file. Read the -[sanic docs](https://sanicframework.org/en/guide/advanced/proxy-headers.html) +[Sanic docs](https://sanicframework.org/en/guide/advanced/proxy-headers.html) for why this needs to be done. If your reverse proxy supports it, you can also use a forwarded secret to secure your proxy target from spoofing. This is not required if your application server does not listen on a public interface, but diff --git a/docs/architecture.md b/docs/architecture.md index e3c2777..bf1de31 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -7,7 +7,7 @@ different. This article describes the standard production setup. ## General overview of the components -* **api**: A python process using sanic to provide a HTTP interface. Everything +* **api**: A python process using Sanic to provide a HTTP interface. Everything revolves around this. * **postgresql**: A database instance. * **frontend**: A React based web application. @@ -36,7 +36,7 @@ the developers of the OpenBikeSensor portal. ## API -The API is written in Python 3 with [sanic](https://sanicframework.org/) for +The API is written in Python 3 with [Sanic](https://sanicframework.org/) for HTTP handling. It supports Python 3.6+ and comes with a list of dependencies that is required. One of those is `openmaptiles-tools`, which is installed from git (see `api/requirements.txt`). The API also depends on the `obs.face`