System architecture¶
In this section, we outline the system architecture using ER Diagrams, Software Component Diagrams etc. and key libraries / frameworks used in this project.
Frameworks used¶
The following is a list, with brief descriptions, of the key components used in creating this platform. Please refer to their individual documentation for in-depth technical information.
Logo | Name | Notes |
---|---|---|
Django | Django makes it easier to build better web apps more quickly and with less code. | |
ReactJS | React lets you build user interfaces out of individual pieces called components. Create your own React components like Thumbnail , LikeButton , and Video . Then combine them into entire screens, pages, and apps. |
|
Docker | Accelerate how you build, share, and run applications. Docker helps developers build, share, and run applications anywhere — without tedious environment configuration or management. | |
Django Rest Framework | Django REST framework is a powerful and flexible toolkit for building Web APIs. | |
MapLibre | Open-source mapping libraries for web and mobile app developers. | |
PostGIS | PostGIS extends the capabilities of the PostgreSQL relational database by adding support storing, indexing and querying geographic data. | |
PostgreSQL | PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. | |
Tegola | An open source vector tile server written in Go, Tegola takes geospatial data and slices it into vector tiles that can be efficiently delivered to any client. | |
Mapbox | Mapbox is a mapping and location cloud platform for developers | |
Maputnik | Maputnik is a free and open source visual editor for the Mapbox GL style specification. | |
Plumber | The plumber package allows you to create APIs from your R code. | |
Jenkins | It is used to continually create and test software projects, making it easier for developers and DevOps engineers to integrate changes to the project and for consumers to get a new build. | |
Argo | Argo Events is an event-driven workflow automation framework and dependency manager that helps you manage Kubernetes resources, Argo Workflows, and serverless workloads on events from a variety of source. |
High-level system architecture¶
This is the high-level system architecture relating to the interaction between the applications.
This is an overview of the interaction between the backend and frontend.
This is the high level overview of the DevOps implementation.
Data model¶
The project's ERD can be found here
Click SchemaSpy Documentation for the full documentation of the data model.