Skip to content
Emil Balitzki edited this page Jun 17, 2024 · 14 revisions
  
    Code.ing Group Logo        
  

Building Information Enhancer (AMOS SS 2024)

Welcome to the Building Information Enhancer project wiki! Here you can find all the relevant information about the project's architecture and its APIs. To read more about a specific topic, browse the sidebar or use the quick links below.

Quick Links

  • System Architecture - The main architecture of the system, including all its components, communication between them, and a list of available API endpoints.
    • Frontend - A detailed description of the frontend.
    • API Gateway - A detailed description of the API gateway, used for communication with the Frontend.
    • Metadata Database - A detailed description of our metadata database, used for storing information about available datasets.
    • API Composer - A detailed description of the API Composer, used to query DBs and aggregate data between datasets.
    • Geospatial Databases - A detailed description of the main databases used for storing the datasets.
    • Data Pipeline - A detailed description of our data pipeline, used to ingest datasets into the DB.
  • CI-CD Pipeline - The description and the diagram of the CI-CD pipeline of the project.
  • Meeting notes - An archive of our meeting notes from our team meetings.
  • Design Documents Archive - An archive of our outdated design documents.

Technology Stack

A short description of the main technologies we use for the project. For a more detailed list, read our Software Bill of Material.

  • Backend
    • C# - backend programming language
    • .NET - backend framework
    • SQL database - main database to use, with other databases possible in the future, such as MongoDB and others.
  • Frontend
    • Typescript - frontend programming language
    • React - frontend framework
    • Vite - build tool for faster and leaner development experience for modern web projects
    • Apache HTTP Server - web server for serving frontend files
    • Material UI - components library for easier development of frontend
  • DevOps (CI/CD Pipeline)
    • Docker - deployment of both frontend and backend as containers
    • Docker Compose - management of multiple Docker images
    • GitHub Actions - CI/CD automatic functions on push/pull requests
    • Eslint - frontend linting
    • Backend Unit Tests & linting Dotnet
    • Hetzner Hosting - Ubuntu servers for test and production environments