Skip to content

codeuniversity/thf-climate

Repository files navigation

Tempelhof Climate

Table of Contents

  1. Project Overview
  2. Prerequisites
  3. Project Architecture
  4. Data Sources
  5. Installation
  6. Authentication
  7. Linting and Formatting
  8. Sponsors
  9. License

Project Overview

Tempelhof Climate Change Analysis is a collaborative project by the CODE University software engineering group aimed at observing climate changes occurring at Tempelhof Feld by analyzing satellite images.

Prerequisites

  • Python 3.x
  • Node.js, npm/yarn
  • Git

Project Architecture

THF Project Architecture

Data Sources

Installation

Backend Installation

  1. Clone the repository:
    git clone https://github.com/codeuniversity/thf-climate.git
  2. Change directory to backend (from thf-climate):
    cd backend
  3. Create a virtual environment and install the dependencies:
    python -m venv venv
    source venv/bin/activate
    pip install -r requirements-dev.txt
  4. Copy the env.sample file to .env and set the required variables:
    cp env.sample .env

Frontend Installation

  1. Change directory to frontend (from thf-climate):
    cd frontend
  2. Install NPM packages:
    npm install
  3. Run project locally:
    npm run dev

Docker Installation

  1. Clone the repository:
    git clone https://github.com/codeuniversity/thf-climate.git
  2. Build the Docker image:
    docker build --tag thf-climate .
  3. Run the Docker Container:
    docker run --publish 8000:8000 thf-climate

Running the API

Run the API locally using:

fastapi dev src/main.py

Serving at: http://127.0.0.1:8000 API docs: http://127.0.0.1:8000/docs

Authentication

You need to authenticate with GEE to run the code. This is done with the auth.py script.

python src/gee/auth.py

If you have authenticated before, you will most likely find your credentials in the following files. Add those credentials to your .env, then run the command above.

Linux/ Mac:

$HOME/.config/earthengine/credentials

Windows:

%UserProfile%\.config\earthengine\credentials

Linting and Formatting

Ruff is used for linting and formatting.

You can install the vscode extension for ruff to get linting and formatting on save here

Sponsors

  • CODE University
  • Google Earth Engine

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.

About

Observing the microclimate of Tempelhofer Feld

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published