plakateapp

Check-in [52ad3de2e9]
Login

Check-in [52ad3de2e9]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updates (leaflet 1.4, jquery 3.3, gevent 1.4)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | master | trunk
Files: files | file ages | folders
SHA3-256: 52ad3de2e9baab9fe0a734c9563fc4861ce1a7b950ed56f967d931f9a7c9e355
User & Date: git@tuxproject.de 2019-04-03 09:13:37
Context
2019-04-04
15:55
Rewrite in Go check-in: f0f3188ff4 user: git@tuxproject.de tags: master, trunk
2019-04-03
09:13
Updates (leaflet 1.4, jquery 3.3, gevent 1.4) check-in: 52ad3de2e9 user: git@tuxproject.de tags: master, trunk
2017-05-03
08:13
Monkeypatching für Sockets check-in: 0c1d3880ca user: git@tuxproject.de tags: master, trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to LICENSE.

1
2
3
4
5
6
7
8
9
10
11
            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                    Version 2, December 2004

 Copyright (C) 2016-17 tux. <git@tuxproject.de>

 Everyone is permitted to copy and distribute verbatim or modified
 copies of this license document, and changing it is allowed as long
 as the name is changed.

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION



|







1
2
3
4
5
6
7
8
9
10
11
            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                    Version 2, December 2004

 Copyright (C) 2016-19 tux. <git@tuxproject.de>

 Everyone is permitted to copy and distribute verbatim or modified
 copies of this license document, and changing it is allowed as long
 as the name is changed.

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

Changes to README.md.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Plakate-App

Dies ist eine Webanwendung, die eine anklickbare Straßenkarte anzeigt, über die (zum Beispiel) die Position von Plakaten im Wahlkampf bestimmt werden kann.

## Hä? Haste mal ein Beispiel?

Klar. Nehmen wir an, ihr wollt für irgendeinen Verein eure Stadt vollplakatieren, wollt aber den Überblick behalten, wo überall Plakate hängen, um sie später wieder entfernen zu können. Genau diesem Zweck dient diese Anwendung.

## Technik

Ihr braucht auf eurem Server nur Python und die Module `Flask` und `gevent`, alles Weitere lädt die Website automatisch:

    pip install flask gevent
    python ./server.py

Die Karte ist anschließend über den Port 6090 (einstellbar direkt in der Datei `server.py`) erreichbar. Unter `/manageplakate` gibt es auch eine einfache Liste aller eingetragenen Plakate zum schnellen Löschen. Das Großteil des UIs wurde mit [Leafjet.js](http://leafletjs.com/) programmiert.

## Urheberrecht? Quatsch.










|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Plakate-App

Dies ist eine Webanwendung, die eine anklickbare Straßenkarte anzeigt, über die (zum Beispiel) die Position von Plakaten im Wahlkampf bestimmt werden kann.

## Hä? Haste mal ein Beispiel?

Klar. Nehmen wir an, ihr wollt für irgendeinen Verein eure Stadt vollplakatieren, wollt aber den Überblick behalten, wo überall Plakate hängen, um sie später wieder entfernen zu können. Genau diesem Zweck dient diese Anwendung.

## Technik

Ihr braucht auf eurem Server nur Python 3 und die Module `Flask` und `gevent`, alles Weitere lädt die Website automatisch:

    pip install flask gevent
    python ./server.py

Die Karte ist anschließend über den Port 6090 (einstellbar direkt in der Datei `server.py`) erreichbar. Unter `/manageplakate` gibt es auch eine einfache Liste aller eingetragenen Plakate zum schnellen Löschen. Das Großteil des UIs wurde mit [Leafjet.js](http://leafletjs.com/) programmiert.

## Urheberrecht? Quatsch.

Changes to src/server.py.

1
2
3
4
5
6
7
8
9
10
11
import sqlite3
import json
from flask import Flask, render_template, request, send_from_directory, redirect
from gevent.wsgi import WSGIServer
from gevent import monkey

monkey.patch_all()

app = Flask(__name__)

PORT = 6090



|







1
2
3
4
5
6
7
8
9
10
11
import sqlite3
import json
from flask import Flask, render_template, request, send_from_directory, redirect
from gevent.pywsgi import WSGIServer
from gevent import monkey

monkey.patch_all()

app = Flask(__name__)

PORT = 6090

Changes to src/templates/index.htm.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!doctype html>
<html>
    <head>
        <title>Piratenplakate</title>

        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

        <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css" />
        <script src="https://unpkg.com/leaflet@1.0.3/dist/leaflet.js"></script>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
        <script src="/templates/script.js"></script>
    </head>
    <body style="overflow:none">
        <div id="map" style="height:100%;width:100%;position:absolute;top:0px;left:0px;"></div>
    </body>
</html>









|
|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!doctype html>
<html>
    <head>
        <title>Piratenplakate</title>

        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

        <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" />
        <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"></script>
        <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
        <script src="/templates/script.js"></script>
    </head>
    <body style="overflow:none">
        <div id="map" style="height:100%;width:100%;position:absolute;top:0px;left:0px;"></div>
    </body>
</html>