Giter Site home page Giter Site logo

weg-li / weg-li Goto Github PK

View Code? Open in Web Editor NEW
248.0 18.0 28.0 42.53 MB

📸 📝 ✊ weg.li: 1, 2, 3 - Macht die Bahn frei!

Home Page: https://www.weg.li

Ruby 49.38% JavaScript 2.03% CSS 0.01% HTML 12.70% Shell 0.16% Dockerfile 0.08% SCSS 8.70% Slim 26.92% Procfile 0.01%
ruby rails verkehrswende

weg-li's Introduction

Build Status Financial Contributors on Open Collective

📸 📝 ✊ weg.li: 1, 2, 3 - Macht die Bahn frei!

https://www.weg.li/

weg.li: 1, 2, 3 - Macht die Bahn frei!

Installation

You can either run the application locally or via Docker.

Local setup

To run weg.li locally, you'll need:

  • Ruby
  • PostgreSQL with postgis
  • NodeJS & Yarn
  • Redis

Quick setup for Linux (Ubuntu)

See this guide which guides you through installing Ruby, Rails and PostgreSQL.

Complete the setup by installing the Redis server at the end.

apt install redis

Quick setup for Mac OS

Please follow this guide if you have not ever installed Ruby on your computer.

# global setup
brew install rbenv # ruby environemnt

brew install yarn # yarn

brew install postgresql # database
brew install postgis # GIS extension for Postgresql
createuser -s postgres # create general purpose postgres user

brew install imagemagick # image-processing

# project setup
bin/setup
# install ruby runtime
rbenv install

# run this to start the rails process
script/server

Docker setup

# build the app
docker-compose build
# start services
docker-compose up
# setup database
docker-compose exec app bundle exec rails db:setup
# generate test data
docker-compose exec app bundle exec rake dev:data

Contributing

Create admin user

After installing the dependencies and running the server, you should be able to log in via “email” by visiting http://localhost:3000/sessions/email and following the prompts. No email will be sent - the generated email is opened in your browser.

Once you have successfully authenticated, make your user an admin: Start the rails console (run rails c in your project directory), then enter User.last.update(access: 'admin'), which should result in => true. Now you should be able to access the admin interface at /admin.

Importing base data

For proper functionality, you need to populate your database with districts.

To fabricate random districts, run rake dev:data. This will synthesize all the kinds of data you need to get dashboards, stats, etc. working right.

If you want to get as close as possible to a “production” system, the easiest way is to import data from the production instance. Download an export format from https://www.weg.li/districts.csv (or .json) and import it into your local database. Example using the rails console (rails c):

> districts = JSON.parse(URI.open('https://www.weg.li/districts.json').read); districts.count
=> 3377
> District.insert_all!(districts.map{ |x| x.except('personal_email').merge({'flags': x['personal_email'] ? 1 : 0}) }); District.count
=> 3377

Secrets and keys

You need to set the following environment variables to enable full functionality for weg.li:

GITHUB_CONSUMER_KEY=github-key
GITHUB_CONSUMER_SECRET=github-secret

TWITTER_CONSUMER_KEY=twitter-key
TWITTER_CONSUMER_SECRET=twitter-secret

GOOGLE_CONSUMER_KEY=google-key
GOOGLE_CONSUMER_SECRET=google-secret

These are used to let users authenticate with the different providers. Learn how to create your own keys: GitHub, Twitter, Google.

In addition, weg.li uses Google Cloud Storage for storing uploaded data and Google Cloud Vision to read license plates and determine car makes and colors. You will need to create a Google Cloud Project and set up the required API access for Google Cloud Storage and Google Cloud Vision. Be aware that you might be billed for Google Cloud usage. Please refer to the Google Cloud documentation, and set the following environment variables accordingly:

GOOGLE_CLOUD_PROJECT=google-cloud-project-id
GOOGLE_CLOUD_KEYFILE=path/to/project/keyfile/gcloud.json

For local use, you can put these variables into a .env file in the project directory, and the dotenv gem will automatically make them available to your rails app. (See .env-example.)

Contributors

Code Contributors

Dieses Projekt existiert dank aller Menschen, die dazu beitragen.

Financial Contributors

Werden Sie ein finanzieller Spender und helfen Sie uns, unsere Gemeinschaft zu erhalten. [Beitragen]

Individuals

Organizations

Unterstützen Sie dieses Projekt mit Ihrer Organisation. Ihr Logo wird hier mit einem Link zu Ihrer Website angezeigt.[Beitragen]

License

"THE (extended) BEER-WARE LICENSE" (Revision 42.0815): phoet contributed to this project.

As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me some beers in return.

weg-li's People

Contributors

4rne avatar art4 avatar carlptr avatar danghor avatar dependabot[bot] avatar depfu[bot] avatar der-eismann avatar gutjuri avatar janmalte avatar jannikarndt avatar joergschwarzwaelder avatar kaese avatar konafets avatar levino avatar marlonschultz avatar mnin avatar moeffju avatar monkeywithacupcake avatar mploigt avatar ntraum avatar pascalwengerter avatar phoet avatar simjost avatar wikinaut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

weg-li's Issues

Favoriten setzen für Wiederholungstäter

Hey,
ist zwar kein Fehler, aber ich würde gerne eine Idee vorstellen. Vielleicht findet diese ja anklang.

Gerade bei Falschparkern hat man ja oftmals Wiederholungstäter und nicht immer ist die Erkennung einwandfrei. Um sich bei gewissen Kandidaten die Nachbearbeitung zu sparen, könnte man doch einen Favorit oder einen Pool aus Adressen setzen oder Fahrzeuginfos, sodass man bei einem Bild, was nicht korrekt analysiert wird, einfach mit einem Auswahlmenü Auto-xy anklickt und alle Daten werden eingetragen.

Habe recht viele, die immer an der gleichen Stelle stehen und wo ich eigentlich nur Datum und Uhrzeit ändern muss.

Freue mich auf Feedback.

Grüße
Corin

Fair Use Automatic / warnung

„With great power comes great responsibility“

Obwohl das ständige zuparken von Fuss und Radwegen etc eine Rücksichtslosigkeit ist, möchte ich ungerne über das Ziel hinaus schiessen und mehrere Owi für das selbe Fahrzeug abschicken, bevor der Halter die erste Owi erhalten hat. Deswegen würde ich gerne eine Warnung erhalten, wenn ich für ein Kennzeichen eine Owi erfasse, für das ich innerhalb z.B. der letzten 4 Wochen bereits eine Owi abgesendet habe.

iOS Bug Uhrzeit „gültigen Wert eingeben“

Auf iPhone und iPad wird in Schritt „2 beschreiben“ die Fehlermeldung „gültigen Wert eingeben“ angezeigt, obwohl eine gültige Uhrzeit angegeben ist. Wird die Uhrzeit um eine Minute erhöht oder verringert, tritt die Fehlermeldung nicht mehr auf, wenn man auf „nur speichern“ oder „speichern und weiter“ klickt.
8A439C3C-E22B-4A3C-ADF9-5EC21D5F8EC5

Verstoß "Parken vor abgesenkter Fussgängerfurt" außerhalb 5m Bereich

Leider liegen die Fussgängerfurten nicht immer im 5m-Bereich vom Kreuzeungsscheitelpunkt, so dass diese Owi hier nicht greift. Dies tritt auch bei sehr lang gezogenen Kreuzung mit einem großen Radius auf. Die Rechtsprechung ist hier möglicherweise nicht eindeutig, ob die Owi nach StVO §1 Absatz 2 verfolgt werden muss. Wobei die zuständigen Behörden Ordnungswidrigkeiten nach meinem Stand grundsätzlich keine einzige Owi verfolgen müssen, sondern immer nach eigenem Ermessen sein lassen können.

Möglicherweise ein Thema für einen späteren Zeitpunkt, falls hier noch die Rechtslage geklärt werden muss.

siehe auch http://www.verkehrsportal.de/board/index.php?showtopic=87585

Adresse

Sammle-Issue zum Feld „Adresse“

  • bei der ermittelten Adresse steht meistens die Hausnummer vor der Straße. Amerikanisches Format? Wird das von den Behörden so akzeptiert?

  • Toll wäre ein Button neben dem Feld um sich die ermittelte Adresse bei OpenStreetMap anzeigen zu lassen und zu kontrollieren ob die Adresse stimmt. Bei Google Maps werden die Hausnummern nicht angezeigt.

  • Toll wäre eine Batchverarbeitung um eine bestimmte Adresse bei mehreren Owi einzufügen, statt die Adresse bei jeder Owi einzeln einzufügen.

Info zu iOS Safari ausblenden in kompatiblen Browsern

Ich finden den Hinweis zu dem Metadaten-Problemen von iOS Safari super.
Aber es hat mich irritiert, dass der Hinweis auch dann sichtbar ist, wenn ich in einen der empfohlenen Browser Chrome/Firefox gewechselt bin.

Verbesserungsvorschlag: Den Hinweis dann ausblenden.

Umsetzungsidee: Alle Texte mit einer class versehen und diese im default "display: none" und nur für iOS Safari sichtbar (vielleicht https://solvit.io/bcf61b6).

Bedienung der Bildanalyse ist unelegant

Nach dem Hochladen der Fotos muss ich weg-li per Button auffordern, die Bildanalyse zu starten. Danach soll ich warten und den Button noch einmal drücken, um das Ergebnis zu erhalten.

Eleganter wäre, die Analyse startet direkt nach dem Hochladen, es gibt einen Status-Indikator und das Ergebnis wird automatisch nach der Bildanalyse im Formular eingetragen. o.ä.

Filter "offen" setzt sich zurück nach abschicken einer Meldung

Wenn ich nach "offen" filtere und dann eine Meldung vervollständige und die Anzeige erstatt wird anschließend wieder die Meldungsübersicht ungefiltert angzeigt. Ich würde es schöner finden, wenn der filter "offen"immer noch gesetzt ist. Andernfalls muss man nach jeder abgeschickten Anzeige den Filter wieder auf "offen" setzen, bevor man die nächste Anzeige vervollständigen und abschicken kann.

Logo zu jedem Autohersteller in Liste

Nicht jeder Mensch kennt sich mit Autos aus. Daher wäre es schön, wenn in der Liste der Hersteller rechts mindestens ein zugehöriges Logo zu sehen wäre.

Stand länger als... automatisch berechnen anhand ältestem und jüngstem Foto einer Meldung

Ich würde es richtig schick finden, wenn die Dauer der Owi "Stand länger als 3 Minuten / 1 Stunde / 3 Stunden" anhand der Differenz der Uhrzeit zwischen dem jüngsten und dem ältesten Foto in einer Meldung berechnet wird. Also wenn das erste Foto kurz vor 08:00 gemacht wurde und das letzte um kurz nach 12:00 wird automatisch der Haken bei "Stand länger als 3 Stunden" gesetzt.

Login via email not working coz of sendgrid redirect

Clicking the auth-link leads to "something went wrong".

Sendgrid is replacing the link with its tracking shite, and their redirect leads to this error.
Copy-pasting the link (-label), the original auth-link, does work, so I guess you just have to find and turn off link-tracking for this email in your sendgrid config or dashboard.

(also postmark is the mail provider I highly recommend for transactional emails)

Meldungen in Köln abschicken

Hi,

welche Schritte wären nötig, um auch in Köln Verstöße zu melden?

Das Kölner Ordnungsamt bearbeitet Verstöße per Email (an [email protected]), weist aber daraufhin, dass man das "aktuelle Onlineformular" nutzen soll.

Das ist hier zu finden: https://formular-server.de/Koeln_FS/findform?shortname=32-F68_AnzVerkOrdWi&formtecid=3&areashortname=send_html

Kann die App sich da eventuell dranhängen? Ansonsten denke ich müsste es ausreichen, darauf zu achten, alle erforderlichen Angaben aus dem Formular zu befüllen.

Bezirke sind falsch gesetzt.

Bei der Übersicht wird der falsche Bezirk angegeben.

Seit dem 22.08.2019 steht bei meinen Meldungen "Bezirk Hamburg"
Davor wurden meine Meldungen in Bochum nur einmal unter "Bezirk Bochum" registriert, ansonsten steht bei Allen vor dem 22.08 "Bezirk Herne".

Mein Account ist auf Bezirk Herne eingestellt. Gut fände ich es aber, wenn es ein Dropdown-Menü geben würde, in dem man den Bezirk angeben kann und/oder dieses Automatisch anhand des Standortes gefüllt wird.

Grüße,

Jascha
2019-08-29 10_00_29-5e049c8612ab4746c915059fef8d4117 · Meldungen · 📸 📝 ✊ weg-li_ 1, 2, 3 - Macht d
2019-08-29 10_01_15-2e14852b706ba6e26ed56ee131dc9630 · Meldungen · 📸 📝 ✊ weg-li_ 1, 2, 3 - Macht d
2019-08-29 10_01_33-76fe2dc509c1e2bd4e0740e456ad940f · Meldungen · 📸 📝 ✊ weg-li_ 1, 2, 3 - Macht d

Eine API für native Clients bereitstellen

gerne Rest, oder Rest-artig. Und möglichst simpel. Wenn du noch ne Postman oder Paw Paket zusammenschnürst wo ein mal jeder request drin steht, wäre ich mega happy.

Eine Install/Build-Anleitung wäre nett

Für das Github-Repository wäre es hilfreich, in einer Anleitung die Installation aller Abhängigkeiten und der Software selbst zu erklären, damit man schneller eine lokale Test-Installation startklar hat und Features beisteuern kann.

"Mist, da ist was schief gelaufen."

Bin eingeloggt auf dem Smartphone.
Gehe zum Desktop-Browser.
Logge mich dort ein.
Fehlermeldung "Mist, da ist was schief gelaufen", Login ist gescheitert.
Logge mich direkt erneut ein.
Klappt.

Filter Meldungsübersicht

Ein Filter für die Anzeige der Meldungen wäre natürlich auch klasse. Nach Kennzeichen, Zeitraum, PLZ, Status...

Details zum Vorwurf abhängig von BKatV Lfd Nr

Es wäre schön, wenn zu jedem Verstoß (BKatV) nur diejenigen Optionen bzw. Details zum Vorwurf vollständig angezeigt werden, die zu dem Tatbestand im BKatV aufgeführt sind.

Bsp.: Zur Lfd Nr 54 gibt es:

  • mit Behinderung
  • länger als 3 Stunden

Länger als 3 Stunden gibt es aktuell noch nicht.

„Das Fahrzeug stand länger als 3 Minuten“ und „das Fahrzeug war verlassen“ sind für lfd nr 54 nicht möglich, werden aktuell im GUI fest angezeigt.

Bußgeldkatalog hier: https://www.gesetze-im-internet.de/bkatv_2013/anlage.html

Wenn man Meldung bearbeitet Button um ganze Meldung zu löschen

Ich würde es toll finden, wenn man in einer Meldung ist um diese zu bearbeiten, dass man diese dann vollständig löschen kann.

Z.B. wenn man die Warnung bekommen hat, dass für dieses Datum und Uhrzeit für das Kennzeichen bereits eine Meldung vorhanden ist.

PLZ-Feld Mindestbreite

Hi,

Bei mir unter Firefox/Android hat das PLZ-Feld trotz genug Bildschirmbreite nur Platz für 4 Ziffern. Schöner wäre es, wenn immer die 5 Ziffern angezeigt werden.

Screenshot_20191011-153032_Firefox

Automarke Tesla fehlt

Hi,

Die Automarke Tesla fehlt. Wäre es möglich, ein frei ausfüllbares Feld zu dem Dropdoen hinzuzufügen?

Gruß,
Johannes

Navbar-ßeta-Hinweis verschwindet direkt wieder

aktuelles Verhalten:
Wenn ich in der Navbar auf das "ßeta" klicke, geht nur kurz die Sprechblase auf, dann lädt die Seite neu und die Sprechblase ist weg.
gewünschtes Verhalten:
Auf "ßeta" klicken und die Seite lädt nicht neu.

Getestet mit Firefox 68.0.1 und Chrome unter Win7

Editierbare Mailvorschau

Die Mail als Preview anzuzeigen, die aus den Bausteinen generiert wird, finde ich sehr gut.
Allerdings fände ich es super, wenn man den vorgeschlagenen Text an dieser Stelle noch mal editieren könnte.

Warum?
Ich hatte das ein oder andere Mal das Problem, dass der Text nicht 100% passt oder eine Kleinigkeit geändert werden müsste, damit es sich "runder" liest. Beispiel: Wenn man einen falsch geparkten Anhänger melden möchte, so liest sich die entstandene Mail doch etwas holprig :)
Nicht zuletzt ist es aus UX-Sicht für einen User frustrierend, einen potentiellen "Fehler" in der Mail entdeckt zu haben, die in Namen des Users verschickt wird, der nicht behoben werden kann.

Bilder im Hochformat werden gedreht

Siehe Meldung 16.08.2019 08:07 - Bilder im Hochformat zeigt weg-li jetzt gedreht im Querformat an. Dies war früher nicht so, siehe Meldung vom 10.08.2019 17:58. Ich glaube, dieses Problem tritt auf, seitdem die Bildauswahl eine Vorschau vor dem Upload hat. Vermutlich interpretiert irgendeine beteiligte Library das Rotations-Exif-Tag falsch.

Ortsbezeichnung sollte nur Straße, Hausnummer, Stadt sein

Bei der Erkennung der Örtlichkeit füllt sich das Feld mit Bezeichnungen wie
"Anadolu Market, Bismarckstraße, 64293 Darmstadt, Deutschland" (https://www.weg-li.de/notices/9ae71055cb107f2b37dfad42185a686c), also einer Ortsbezeichnung, die sich auf Läden, POI etc. bezieht. Die Behörden arbeiten eher mit den amtlichen Hausnummern. Vor allem, wenn es auf einer sehr langen Straße zwei Läden gleichen Namens gibt (Modeketten, Tankstellen etc) wäre die Angabe zu ungenau und ggf. ein Grund für einen Einspruch durch die Betroffenen.

Deshalb wäre mein Plädoyer, einfach die Hausnummer aufzulösen und die Läden wegzulassen.

Mehrere Fotos, Kennzeichenerkennung findet trotzdem falsches Auto

Mein Eintrag vom 10.08.2019 17:59 besteht aus drei Fotos, wo jeweils mittig der Falschparker zu sehen ist. Auf allen drei Fotos ist das Kennzeichen des Falschparkers zu sehen. Die Analyse hat trotzdem das in nur einem der Fotos vollständig sichtbare Kennzeichen eines unbeteiligten Autos daneben erkannt und mir vorgeschlagen.

Vorschlag: Alle Fotos auf Kennzeichen analysieren und am Ende das Kennzeichen übernehmen, das am häufigsten erkannt wird und/oder die größte Anzahl Pixel bedeckt.

Meldung duplizieren

Das Beweisfoto soll ja möglichst so sein, dass der Tatvorwurf darauf klar erkennbar ist. Manchmal lässt sich dadurch nicht vermeiden, dass ein zweites Fahrzeug auf dem Bild mit drauf ist. Wenn dieses zweite Fahrzeug ebenfalls eine Owi erfüllt, wäre es toll wenn man die Meldung kopieren kann, damit man die Fotos, den Standort und den Vorwurf ein Mal für Kennzeichen A und ein Mal für Kennzeichen B verwenden kann.

Siehe z.B. https://www.weg-li.de/notices/8137cddbe61e17273a45e46cb08d0cfd
(Zwei Fahrzeuge die beide im 5m-Kreuzungsbereich parken)

Zeitformat/Datumformat bitte einstellbar im Profil machen

Anscheinend werden Zeitformat und Datumformat entsprechend der Browsereinstellung zur Erfassung angezeigt. Ich habe im Browser EN eingestellt, möchte aber trotzdem DE nutzen. Hierfür habe ich keine Einstellung gefunden. Es ist sehr ungewohnt Daten in MM/DD/YYYY einzustellen. Auch der Umgang mit PM/AM ist eher ungewohnt.

Wunschliste Verstöße

Ich wünsche mir folgende Verstöße (aus dem Bußgeld Katalog) im Dropdown-Menü:

  • BKat Nr 142a; Verbot des Einfahrens (Zeichen 267) nicht beachtet
  • Bkat 139; Die durch Zeichen 215 (Kreisverkehr) oder Zeichen 220 (Einbahnstraße) vorgeschriebene Fahrtrichtung nicht
    befolgt

Spalte „Zeitpunkt Verstoß“

Ich würde die Meldungen gerne nach dem Zeitpunkt des Verstoßes sortieren und hätte deswegen gerne diese zusätzliche Spalte.

Erneute Anmeldung bei jeder Session

weg-li will, dass ich mich regelmäßig neu einlogge. Ich würde stattdessen bevorzugen, dass die Session gültig bleibt, solange ich mich nicht bewusst auslogge.

„Dateien auswählen“ reagiert nicht

Wenn man auf „Hochladen und weiter“ klickt, ohne vorher ein foto hichgeladen zu haben, gibt es zu recht eine Fehlermeldung. Anschließend reagiert der Button „Dateien hochladen“ nicht mehr. Evtk gemeinsamkeit mit dem Issue „nicht funktionierender Mülleimer“?

Fotos vor Upload verkleinern

Wäre es möglich, Fotos vor dem Upload clientseitig zu verkleinern?
Meine Handykamera kann nur sehr große oder sehr kleine Auflösungen speichern, so dass ich immer 3MB hochladen muss.

GMail Hinweis

Die GMail-App auf meinem Handy meldet bei der CC-Email zur Anzeige Folgendes:
Unbenannt

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.