Giter Site home page Giter Site logo

codeforbielefeld / giess-bielefeld Goto Github PK

View Code? Open in Web Editor NEW
2.0 4.0 1.0 700 KB

Hier entwickeln wir eine Karte, auf der Bürger:innen mit Bäumen interagieren können - und ihnen helfen!

JavaScript 15.95% TypeScript 11.46% HTML 1.55% Svelte 27.64% CSS 4.06% Python 35.61% PLpgSQL 3.74%

giess-bielefeld's Introduction

Gieß' Bielefeld

TODO: Beschreibung hinzufügen.

Setup

Für die lokale Entwicklung muss eine Supabase-Instanz aufgesetzt werden. Hierfür kann die supabase-cli verwendet werden:

npm install -g supabase-cli
supabase start
supabase migrations up

Die .env-Datei muss mit den Zugangsdaten zur Supabase-Instanz gefüllt werden, die beim Start der Supabase auf der Konsole ausgegeben werden. Ein Beispiel für die .env-Datei befindet sich in der Datei .env.example:

VITE_SUPABASE_URL=http://127.0.0.1:54321
VITE_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=

Die entsprechenden Werte für VITE_SUPABASE_ANON_KEY und SUPABASE_SERVICE_ROLE_KEY müssen in die .env-Datei eingetragen werden und entsprechen den Werten anon key und service_role key aus der Ausgabe der supabase start-Kommandos.

Berechtigungen

Um auf die Supabase-Instanz und die darin enthaltenen Daten zugreifen zu können, müssen die Berechtigungen für die Tabelle trees vergeben werden. Dazu kann das Supabase Studio unter der URL http://127.0.0.1:54323 geöffnet werden, solange die Supabase im Hintergrund läuft. Dort kann die Tabelle trees ausgewählt und die Berechtigungen für die Tabelle vergeben werden: In der linken Seitenleiste wird der Table Editor ausgewählt. In der geöffneten Ansicht wählst du dann die Tabelle trees aus. Oben rechts klickst du auf Add RLS policy und dann oben rechts auf New policy, im sich öffnenden Dialog dann Get started quickly. Anschließend kannst du die Berechtigungen anpassen, für uns reicht es dann unten rechts auf Use this template zu klicken. Danach klickst du auf Review unten rechts und schließlich auf Save policy.

Datenimport

Für den Import der Daten wird die trees.json-Datei benötigt, die aktuell nicht Bestandteil dieses Repositorys ist. Diese Datei muss im import-Verzeichnis abgelegt werden. Anschließend kann der Import mit dem import-Skript im import-Ordner gestartet werden. Da weitere Bibliotheken erforderlich sind, um die Daten zu importieren, empfiehlt es sich, eine virtuelle Python-Umgebung zu erstellen und die erforderlichen Bibliotheken zu installieren:

cd import
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Anschließend kann der Import gestartet werden:

python import.py <path-to-geojson-file>

Geosplitting

Um die Performance des Karten-Renderns zu verbessern muss die trees.json-Datei gesplittet werden. Dazu sollte die Anleitung befolgt werden.

Im Fall der zur Zeit bereitgestellten trees.json musste vor der Geosplitting eine Bereinigung der Daten erfolgen. Dazu kann das ./geosplitter/filter_geodata.py-Skript genutzt werden.

Kopiere anschließend die neu erstellten Segmente aus ./geosplitting/segments/* in das static-Verzeichnis.

cp geosplitter/segments static

Entwicklung

Installiere die Abhängigkeiten, bevor du mit der Entwicklung beginnst:

npm install

Anschließend kannst du das mit Svelte entwickelte Frontend starten:

npm run dev

giess-bielefeld's People

Contributors

barooney avatar helenbielawa avatar andreascansee avatar

Stargazers

Dennis Dierkes avatar Open Data Coder avatar

Watchers

 avatar  avatar Meike Wocken avatar  avatar

Forkers

viliaz

giess-bielefeld's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.