diff --git a/.eslintrc.yaml b/.eslintrc.yaml index 15bc4f2..c4a6a4b 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -2,6 +2,7 @@ root: true env: es6: true + node: true browser: true extends: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b152fb7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,98 @@ +# Contributing + +> Thank you for your interest in contributing to this OK Lab Flensburg project! We welcome contributions from the community to help improve #opendata #civictech and #opengovernment applications and prototypes. By contributing to this project, you are helping to make social demographic government data more accessible and usable for everyone. + + +## How to Contribute + +We appreciate all types of contributions, including bug fixes, code improvements, documentation enhancements, and new features. To get started, follow these steps + + +#### Fork the Repository + +Click the "Fork" button on the top right corner of this repository's page to create your own copy. + + +#### Clone the Repository + +Clone your forked repository to your local machine using Git + +```bash +git clone https://github.com/your-username/your-project.git +``` + + +#### Create a Branch: + +Create a new branch for your contribution. Choose a descriptive branch name + +```bash +git checkout -b feature/your-feature-name +``` + + +#### Make Changes + +Make your desired changes to the codebase, documentation, or any other project files. + +Test Your Changes: Test your changes to ensure they work as expected. If you're adding new features, make sure to document them properly. + + +#### Commit Your Changes + +Commit your changes with a clear and concise commit message + +```bash +git commit -m "Add your commit message here" +``` + + +#### Push to Your Fork + +Push your changes to your forked repository + +```bash +git push origin feature/your-feature-name +``` + + +#### Create a Pull Request + +Go to the original repository and create a Pull Request (PR) from your forked branch to the main branch. Please provide a detailed description of your changes in the PR. + + +## Code Style and Guidelines + +We follow specific code style and guidelines to maintain consistency in our codebase. Before submitting your contribution, please make sure to + +- Write clear and concise code comments. +- Keep your PRs focused on addressing a single issue or implementing a specific feature. + +By running `pnpm run lint`, you can ensure that your code complies with the project's style and formatting standards, making it easier for reviewers to evaluate your contributions. + + +## Reporting Issues + +If you encounter any bugs, issues, or have suggestions for improvements, please report them on our Issue Tracker. When reporting issues, be sure to provide detailed information, including + +- A clear description of the problem. +- Steps to reproduce the issue. +- Expected and actual behavior. +- Environment details (e.g., operating system, browser version, etc.). + + +## Community and Communication + +We value open and respectful communication within our community. If you have questions or need assistance, you can + +- Join our community in [slack](https://openknowledgegermany.slack.com) to discuss ideas or seek help. +- Reach out to the project maintainers via [email](oklabflensburg@grain.one). + + +## License + +By contributing to this project, you agree that your contributions will be licensed under the project's license. + +Thank you for contributing! Your efforts help make government data more transparent, accessible, and useful to citizens. + +Happy coding! \ No newline at end of file diff --git a/README.md b/README.md index 0a76232..af70200 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ _Haftungsausschluss: Dieses Repository und die zugehörige Datenbank befinden si - ## Hintergrund Die Idee, einen Kitafinder für Flensburg zu entwickeln, ist aus der eigenen Suche nach einer Kita für den Kleinen entstanden. Auf der [städtischen Website](https://www.flensburg.de/Kultur-Bildung/Bildungsb%C3%BCro/Kindertagesbetreuung/Kindertagesst%C3%A4tten) finden sich zwar Kontaktdetails zu den städtischen Kindertagesstätten und ein Link zu einer PDF Datei mit einer Liste aller Kindertagesstätten in Flensburg, jedoch fehlt eine übersichtliche Karte, die alle Kitas anzeigt. Aus dieser Fragestellung heraus ist diese Karte entstanden, um anderen Eltern die Suche nach einem Kitaplatz zu erleichtern. @@ -45,6 +44,19 @@ git clone https://github.com/oklabflensburg/open-kita-map.git Create dot `.env` file inside root directory. Make sure to add the following content repaced by your actual values ``` +BASE_URL=http://localhost + +CONTACT_MAIL=mail@example.com +CONTACT_PHONE="+49xx" + +PRIVACY_CONTACT_PERSON="Firstname Lastname" + +ADDRESS_NAME="Address Name" +ADDRESS_STREET="Address Street" +ADDRESS_HOUSE_NUMBER="House Number" +ADDRESS_POSTAL_CODE="Postal Code" +ADDRESS_CITY="City" + DB_PASS=postgres DB_HOST=localhost DB_USER=postgres diff --git a/src/env.js b/src/env.js new file mode 100644 index 0000000..e2e2f9a --- /dev/null +++ b/src/env.js @@ -0,0 +1,31 @@ +export class Env { + constructor() { + this.origin = process.env.BASE_URL + this.contactMail = process.env.CONTACT_MAIL + this.contactPhone = process.env.CONTACT_PHONE + this.privacyContactPerson = process.env.PRIVACY_CONTACT_PERSON + this.addressName = process.env.ADDRESS_NAME + this.addressStreet = process.env.ADDRESS_STREET + this.addressHouseNumber = process.env.ADDRESS_HOUSE_NUMBER + this.addressPostalCode = process.env.ADDRESS_POSTAL_CODE + this.addressCity = process.env.ADDRESS_CITY + } + + injectLinkContent(className, prepend, append, link, value) { + const nodes = document.querySelectorAll(className) + + nodes.forEach((node) => { + node.href = `${prepend}${link}${append}` + node.innerHTML = value + }) + } + + + injectTextContent(className, value) { + const nodes = document.querySelectorAll(className) + + nodes.forEach((node) => { + node.innerText = value + }) + } +} \ No newline at end of file diff --git a/static/favicon.ico b/src/favicon.ico similarity index 100% rename from static/favicon.ico rename to src/favicon.ico diff --git a/src/impressum.html b/src/impressum.html index a3c2fa2..c2476f8 100644 --- a/src/impressum.html +++ b/src/impressum.html @@ -1,46 +1,49 @@ - - Kitas in Flensburg - Impressum - - - - + + Impressum - Kitas in Flensburg + + + -
-
- -
-
-

Impressum

-
-
-
Adresse:
-
OK Lab Flensburg
Am Nordertor 2
24939 Flensburg

-
-
-
E-Mail:
-
- oklabflensburg@grain.one +
+
+ +
+
+

Impressum

+
+
+
Adresse:
+
+
+
+

+
+
+
+
E-Mail:
+
+
Telefon:
- +4917659978074 +

Haftungsausschluss

-

Inhaltlich verantwortlich gemäß § 55 Abs. 2 RStV ist Aurelius Wendelken.

+

Inhaltlich verantwortlich gemäß § 55 Abs. 2 RStV ist .

Haftung für Inhalte

Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach § 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

Haftung für Links

@@ -48,46 +51,54 @@

Haftung für Links

Urheberrecht

Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht, sofern diese nicht unter der CC0 1.0 Universell Lizenz veröffentlicht worden sind. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.

-
+

Datenschutzerklärung

-

Das Open Knowledge Lab Flensburg, Am Nordertor 2, 24939 Flensburg, Deutschland (nachfolgend als "OK Lab Flensburg" oder "wir" bezeichnet) betreibt die im Internet unter und den jeweils dazu gehörenden Unterverzeichnissen abrufbare Internetseite (nachfolgend die "Website" genannt).

+

Das Open Knowledge Lab Flensburg, Am Nordertor 2, 24939 Flensburg, Deutschland (nachfolgend als "OK Lab Flensburg" oder "wir" bezeichnet) betreibt die im Internet unter und den jeweils dazu gehörenden Unterverzeichnissen abrufbare Internetseite (nachfolgend die "Website" genannt).

Das Open Knowledge Lab Flensburg möchte Ihnen mit dieser Datenschutzerklärung erläutern, welche Daten in welcher Form verarbeitet werden, wenn Sie unsere Website besuchen. Hiermit kommen wir zugleich unserer Informationspflicht gem. Art. 13 Datenschutz-Grundverordnung (DSGVO) Ihnen gegenüber nach.

I. Verantwortlicher und Kontaktmöglichkeiten des Datenschutzbeauftragten

Die datenschutzrechtlich Verantwortliche für die auf unserer Website stattfindenden Datenverarbeitungen ist das:
-
OK Lab Flensburg
Am Nordertor 2
24939 Flensburg

+
+
+
+

+
E-Mail:
- oklabflensburg@grain.one +
Telefon:
- +4917659978074 +
Unser Datenschutzbeauftragter ist erreichbar unter:
-
OK Lab Flensburg
Am Nordertor 2
24939 Flensburg

+
+
+
+

+
E-Mail:
- oklabflensburg@grain.one +
Telefon:
- +4917659978074 +
@@ -142,7 +153,7 @@

VIII. Internetspezifische Datenve
  • die durchschnittliche Verweildauer in unserem Angebot und
  • die in unserer Web-Site aufgerufenen Seiten.
  • -

    Durch die Entfernung des folgenden Hakens können Sie verhindern, dass wir mittels Matomo Ihre Besuche zählen. In diesem Fall wird ein Cookie gesetzt um uns zu signalisieren, dass Sie der Nutzung widersprochen haben.

    +

    Durch die Entfernung des folgenden Hakens können Sie verhindern, dass wir mittels Matomo Ihre Besuche zählen. In diesem Fall wird ein Cookie gesetzt um uns zu signalisieren, dass Sie der Nutzung widersprochen haben.

    Bitte beachten Sie, dass die jeweiligen Einstellungen bzgl. Cookies nur für Ihr aktuell benutztes Gerät und Ihren aktuell benutzten Browser wirksam sind. Sollten Sie ein anderes Gerät oder einen anderen Browser benutzen, müssen Sie in der Regel die Einstellungen erneut vornehmen. Zudem unterstützen wir die "Do not Track" Funktion Ihres Browsers. Hiermit können Sie uns aktiv über Ihre Browsereinstellungen mitteilen, ob Sie eine Aufzeichnung Ihrer Aktivitäten wünschen oder nicht. Haben Sie "Do not Track" aktiviert, erfolgt keine Aufzeichnung Ihrer Aktivitäten.

    Die Rechtsgrundlage für die Verwendung von Matomo findet sich in Art. 6 Abs. 1 lit. f) DSGVO. Unser berechtigtes Interesse besteht darin, dass wir die Nutzung unserer Website zu deren Verbesserung und Optimierung auswerten. Die so erfassten Daten werden für einen Zeitraum von 24 Monaten gespeichert.

    2. Einbindung von Youtube Videos: Wir haben YouTube-Videos in unser Online-Angebot eingebunden. YouTube ist ein Broadcasting-Dienst, der uns das kostenlose Einstellen und Verlinken von Videoclips zur Darstellung unseres Unternehmens ermöglicht. Der Dienst auf youtube.com wird bereitgestellt von der Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland ("Google").

    @@ -150,14 +161,16 @@

    VIII. Internetspezifische Datenve

    Durch den Besuch auf der Website und das Abspielen der Videos erhält Google die Information, dass Sie die entsprechende Unterseite unserer Website aufgerufen haben. Zudem werden die unter Ziffer 2 dieser Datenschutzerklärung genannten Daten an Google übermittelt. Dies erfolgt unabhängig davon, ob YouTube ein Nutzerkonto über Sie führt, in das Sie mittels Google eingeloggt sind, oder ob kein Nutzerkonto besteht. Wenn Sie bei Google eingeloggt sind, werden Ihre Daten direkt Ihrem Konto zugeordnet. Wenn Sie die Zuordnung mit Ihrem Profil bei YouTube nicht wünschen, müssen Sie sich vor Betätigung des Play-Buttons ausloggen. Google speichert Ihre Daten als Nutzungsprofile und nutzt sie für Zwecke der Werbung, Marktforschung und/oder bedarfsgerechten Gestaltung seiner Dienste. Eine solche Auswertung erfolgt insbesondere (auch für nicht eingeloggte Nutzer) zur Erbringung von bedarfsgerechter Werbung und um andere Nutzer des sozialen Netzwerks über Ihre Aktivitäten auf unserer Website zu informieren, wobei uns die Einzelheiten unbekannt sind. Ihnen steht ein Widerspruchsrecht zu gegen die Bildung dieser Nutzerprofile, wobei Sie sich zur Ausübung dessen an Google richten müssen. Im übrigen gelten für Sie die unter Ziffer 5 dieser Datenschutzerklärung genannten Betroffenenrechte.

    Weitere Informationen zu Zweck und Umfang der Datenerhebung und ihrer Verarbeitung durch Google erhalten Sie in den Datenschutzhinweisen von Google. Dort erhalten Sie auch weitere Informationen zu Ihren Rechten und Einstellungsmöglichkeiten zum Schutze Ihrer Privatsphäre. Google verarbeitet Ihre personenbezogenen Daten auch in den USA und hat sich zur Wahrung eines angemessenen Datenschutzniveaus iSd Art. 44 ff DSGVO dem EU- US-Privacy-Shield unterworfen.

    IX. Wenn Sie Anmerkungen oder Fragen haben

    -

    Wir treffen alle erdenklichen Vorkehrungen zum Schutz und zur Sicherheit Ihrer Daten. Ihre Fragen und Kommentare zum Datenschutz sind uns willkommen, schreiben Sie einfach eine Mail an oklabflensburg@grain.one.

    +

    Wir treffen alle erdenklichen Vorkehrungen zum Schutz und zur Sicherheit Ihrer Daten. Ihre Fragen und Kommentare zum Datenschutz sind uns willkommen, schreiben Sie einfach eine Mail an .

    Flensburg, Januar 2024

    + + diff --git a/src/imprint.js b/src/imprint.js index f2ac6b5..f4b0582 100644 --- a/src/imprint.js +++ b/src/imprint.js @@ -1,9 +1,17 @@ -const origin = `${window.location.protocol}//${window.location.hostname}` -console.log(origin) +import { Env } from './env.js' -const websiteOrigin = document.querySelector('#websiteOrigin') -websiteOrigin.href = origin -websiteOrigin.innerHTML = origin +const env = new Env() -const matomoDisagreeOrigin = document.querySelector('#matomoDisagreeOrigin') -matomoDisagreeOrigin.href = `${origin}/index.php?module=CoreAdminHome&action=optOut&language=de` \ No newline at end of file + +env.injectLinkContent('.contact-mail', 'mailto:', '', env.contactMail, env.contactMail) +env.injectLinkContent('.contact-phone', 'tel:', '', env.contactPhone, env.contactPhone) + +env.injectLinkContent('.matomo-disagree', '', '/index.php?module=CoreAdminHome&action=optOut&language=de', env.origin, 'Hakens') +env.injectLinkContent('.website-origin', '', '', '', env.origin) + +env.injectTextContent('.privacy-contact-person', env.privacyContactPerson) +env.injectTextContent('.address-name', env.addressName) +env.injectTextContent('.address-street', env.addressStreet) +env.injectTextContent('.address-house-number', env.addressHouseNumber) +env.injectTextContent('.address-postal-code', env.addressPostalCode) +env.injectTextContent('.address-city', env.addressCity) \ No newline at end of file diff --git a/src/index.html b/src/index.html index 7d25d13..04bb7d5 100644 --- a/src/index.html +++ b/src/index.html @@ -3,7 +3,7 @@ Kindertagesstätten in Flensburg - + @@ -28,7 +28,7 @@

    Hintergrund

    -

    Die Idee, einen Kitafinder für Flensburg zu entwickeln, ist aus der eigenen Suche nach einer Kita für den Kleinen entstanden. Auf der städtischen Website finden sich zwar Kontaktdetails zu den städtischen Kindertagesstätten und ein Link zu einer PDF Datei mit einer Liste aller Kindertagesstätten in Flensburg, jedoch fehlt eine übersichtliche Karte, die alle Kitas anzeigt. Aus dieser Fragestellung heraus ist diese Karte entstanden, um anderen Eltern die Suche nach einem Kitaplatz zu erleichtern. Falls Sie Anregungen, Kritik oder Ergänzungen haben, schreiben Sie uns bitte eine E-Mail.

    +

    Die Idee, einen Kitafinder für Flensburg zu entwickeln, ist aus der eigenen Suche nach einer Kita für den Kleinen entstanden. Auf der städtischen Website finden sich zwar Kontaktdetails zu den städtischen Kindertagesstätten und ein Link zu einer PDF Datei mit einer Liste aller Kindertagesstätten in Flensburg, jedoch fehlt eine übersichtliche Karte, die alle Kitas anzeigt. Aus dieser Fragestellung heraus ist diese Karte entstanden, um anderen Eltern die Suche nach einem Kitaplatz zu erleichtern. Falls Sie Anregungen, Kritik oder Ergänzungen haben, schreiben Sie uns bitte eine .

    Datenquelle

    Ein Großteil der Informationen der Kindertagesstätten wurde aus dem Datensatz des Open Data Portals Schleswig-Holstein bezogen. Zusätzlich haben wir weitere Daten aus der Liste aller Kindertagesstätten in Flensburg genutzt. Die Kartendarstellung wird von engagierten Eltern und ehrenamtlichen Mitgliedern des OK Lab Flensburg entwickelt.

    Quellcode

    @@ -37,7 +37,7 @@

    Quellcode

    diff --git a/src/lizenz.html b/src/lizenz.html index 356b276..6e8a060 100644 --- a/src/lizenz.html +++ b/src/lizenz.html @@ -2,9 +2,9 @@ - Kitas in Flensburg - Zweckerklärung + Zweckerklärung - Kitas in Flensburg - + @@ -46,7 +46,7 @@

    4. Beschränkungen und Haftungsau diff --git a/src/main.js b/src/main.js index d863d7b..19bf992 100644 --- a/src/main.js +++ b/src/main.js @@ -11,6 +11,12 @@ import districts from 'url:../data/flensburg_stadtteile.geojson' import markerDefault from 'url:../static/marker-icon-default.webp' import markerActive from 'url:../static/marker-icon-active.webp' +import { Env } from './env.js' + + +const env = new Env() +env.injectLinkContent('.contact-mail', 'mailto:', '', env.contactMail, 'E-Mail') + fetch(kitas, { method: 'GET' @@ -33,7 +39,7 @@ fetch(districts, { const layerStyle = { standard: { color: '#fff', - fillColor: '#11aa44', + fillColor: '#6ed0ef', fillOpacity: 0.4, opacity: 0.6, weight: 3