Help Instance Help

Repository Structure

This section provides a detailed overview of the repository structure, helping users navigate and understand the various components of the project.

  • Root Directory

    • .gitignore: Specifies files to be ignored by Git.

    • config.py: Configuration file for the project.

    • README.md: Introduction and overview of the project.

    • requirements.txt: Lists dependencies required for the project.

    • main.py: Main function to run our program.

    • DISCLAIMER: Disclaimer for the project.

    • LICENSE: Mozilla Public License 2.0 for the project.

    • guide.md: Setup Guide.

    • linux_run_backend.sh: Runs the Aspenlog 2020 backend on a Linux server.

    • linux_server_install.sh: Installs the necessary packages and sets up the environment for the Aspenlog 2020 backend on a Linux server.

    • requirements_linux.txt: Lists dependencies required for the linux server.

  • .github/workflows

    • mac-node-build.yml: Workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node.

    • ubuntu-node-build.yml: Workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node.

    • windows-node-build.yml: Workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node.

  • assets/images

    • Contains logos for the project.

  • Backend Directory

    • test.py: Script for testing backend functionalities.

    • algorithms: Contains algorithms for load calculations (snow_load_algorithms.py, wind_load_algorithms.py).

    • Constants: Includes constants (importance_factor_constants.py, snow_constants.py, wind_constants.py).

    • Entities: Defines entities like building.py, snow.py, wind.py.

    • API: Contains code for managing endpoints and making calls to other APIs.

    • output: Location for output of rendered images and bar charts.

    • visualizations: Contains code for creating 3D bar chart.

  • Data Extraction Directory

    • NBCC_Data_Extraction.py: Script for extracting data from NBCC tables.

    • input: Contains input files like NBCC2020-Table-C-1.pdf.

    • output: Stores extracted data in formats like CSV, XLSX.

  • Database Directory

    • Constants: Houses database connection constants (connection_constants.py).

    • Entities: Includes database entities and connection setup (climatic_data.py, database_connection.py, wind_speed_data.py).

    • Population: Scripts to populate the database (populate_climate_data.py, populate_database.py, populate_wind_speed_data.py).

    • Warnings: Contains database warnings (database_warnings.py).

  • Frontend Directory

    • assets/images: Contains logo and background colour.

    • Renderer: Contains all HTML, CSS and JS files for the frontend pages.

This structure ensures a clear separation of concerns and easy navigation for contributors and users alike.

Last modified: 24 March 2024