{"id":13557129,"url":"https://github.com/codeformunich/muenchen-transparent","last_synced_at":"2025-12-17T09:20:05.395Z","repository":{"id":44753141,"uuid":"8992160","full_name":"codeformunich/muenchen-transparent","owner":"codeformunich","description":"Ein alternatives Ratsinformationssystem mit E-Mail-Benachrichtigungen, Volltextsuche und vielem mehr.","archived":false,"fork":false,"pushed_at":"2025-02-09T08:46:29.000Z","size":48578,"stargazers_count":53,"open_issues_count":17,"forks_count":8,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-02-09T09:27:37.800Z","etag":null,"topics":["oparl","ratsinformationssystem"],"latest_commit_sha":null,"homepage":"https://www.muenchen-transparent.de","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeformunich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-03-24T19:55:46.000Z","updated_at":"2025-02-09T08:46:32.000Z","dependencies_parsed_at":"2023-02-16T17:16:47.527Z","dependency_job_id":"818944c1-4fc6-4e92-95eb-522e05a455bb","html_url":"https://github.com/codeformunich/muenchen-transparent","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformunich%2Fmuenchen-transparent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformunich%2Fmuenchen-transparent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformunich%2Fmuenchen-transparent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformunich%2Fmuenchen-transparent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeformunich","download_url":"https://codeload.github.com/codeformunich/muenchen-transparent/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246992938,"owners_count":20865909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oparl","ratsinformationssystem"],"created_at":"2024-08-01T12:04:10.981Z","updated_at":"2025-12-17T09:20:00.321Z","avatar_url":"https://github.com/codeformunich.png","language":"PHP","funding_links":[],"categories":["PHP","others"],"sub_categories":[],"readme":"[München Transparent](https://www.muenchen-transparent.de)\n=========================================\n\nMünchen Transparent ist ein alternatives Ratsinformationssystem (RIS) für München mit einer modernen Oberfläche, E-Mail-Benachrichtigungen, Volltextsuche, Geodaten, Erklärtexten und vielem mehr.\n\n## Setup\n\nVorausgesetzt werden nginx mit PHP \u003e= 8.0 und MySQL/MariaDB sowie npm und composer.\n\nBerechtigungen setzen und Abhängigkeiten installieren: (`www-data` muss durch den passenden Nutzer ersetzt werden, bei MacOSX ist das z.B. `_www` )\n```bash\nchown -R www-data:www-data protected/runtime\ncp protected/config/main-production.template.php protected/config/main-production.php\n```\n\nAbhängigkeiten installieren und minimiertes javascript und css erzeugen:\n```bash\nnpm install\ncomposer install\nnpx gulp\n```\n\n### nginx\n* Der gewählte `server_name` muss in [protected/config/main-production.php](protected/config/main-production.php) als `SITE_BASE_URL` eingetragen werden.\n* `root` muss auf den `html/`-Ordner zeigen.\n* `$yii_bootstrap` muss auf `index.php` gesetzt werden.\n* Die Einstellungen aus [nginx-minimal.conf](docs/nginx-minimal.conf) müssen übernommen werden, entweder durch ein `include` oder mit copy\u0026paste.\n* Zwei erweiterte Beispiele einer vollständigen Konfiguration finden sich in [nginx-full.conf](docs/nginx-full.conf) und [nginx-travis.conf](docs/nginx-travis.conf).\n\n### MariaDB/MySQL\n* Eine Datenbank und einen zugehörigen Nutzer anlegen.\n* Die Datenbank-Konfiguration muss dann in [protected/config/main-production.php](protected/config/main-production.php) eingetragen werden. Im Beispiel werden die Datenbank \"muenchen_transparent\", der Benutzer \"ris\" und das Passwort \"sec\" verwendet:\n```php\n'db' =\u003e [\n    'connectionString'      =\u003e 'mysql:host=127.0.0.1;dbname=muenchen_transparent',\n    'emulatePrepare'        =\u003e true,\n    'username'              =\u003e 'ris',\n    'password'              =\u003e 'sec',\n    'charset'               =\u003e 'utf8mb4',\n    'queryCacheID'          =\u003e 'apcCache',\n    'schemaCachingDuration' =\u003e 3600,\n],\n```\n* Schema, Beispieldaten in die Datenbank und (optional) Statistiken importieren:\n```bash\ncat docs/schema.sql docs/beispieldaten.sql docs/triggers.sql | mysql -u ris -psec muenchen_transparent\nprotected/yiic importstatistik\n```\n\n### PHP\n* Die Option \"short_open_tag\" muss auf \"On\" gestellt sein.\n* Das Modul für curl muss installiert sein (`php8-curl`)\n\n### Solr\n* Solr 5.5.1 [herunterladen](https://archive.apache.org/dist/lucene/solr/5.5.1/) und in einen Ordner mit dem Namen `solr` entpacken.\n* [docs/solr-core](docs/solr_core) nach `solr/server/solr/muenchen-transparent/` kopieren.\n* solr kann dann mit `solr/bin/solr start` gestartet werden.\n\n## OParl\n\nZum Zugriff auf die Daten gibt es eine [OParl](https://oparl.org)-Schnittstelle. Damit die API funktioniert, muss\n`OPARL_10_ROOT` in `main-production.php` auf den gewünschten Wert gesetzt werden. Genauere Hinweise zur Implementierung finden\nsich in [oparl.md](docs/oparl.md).\n\n## Tests\n\nAls Testframework wird [codeception](http://codeception.com/) verwendet.\n\nZum lokalen Ausführen der Test muss ein 2. Server-Block in der nginx-Konfiguration angelegt werden. Dieser unterschiedet sich vom normalen Server-Block in drei Punkten:\n* `server_name` muss `localhost` sein.\n* `listen` muss auf `8080` gesetzt werden.\n* `$yii_bootstrap` muss auf `index_codeception.php` gesetzt werden.\n\nDes weiteren muss eine Datenbank mit dem Namen `mt-test` angelegt werden, auf ein ebenfalls anzulegender Nutzer mit dem\nBenutzernamen `travis` und keinem Passwort zugriff hat.Das importieren der Testdaten erfolgt mit\n```bash\ncat docs/schema.sql tests/_data/data.sql docs/triggers.sql | mysql -utravis mt-test\n```\nDie Tests können dann mit\n```bash\nvendor/bin/codeception run\n```\nausgeführt werden.\n\nSollten die Testdaten verändert worden sein, müssen die Änderungen mit\n```bash\ndocs/export-testing-db.sh\n```\ngespeichert werden.\n\n\nEs ist zu beachten, dass die Tests durch PhpBrowser und nicht durch selenium ausgeführt werden. Deshalb können keine auf javascript basierenden Funktionen getestet werden.\n\n## Code-Organisation\n\n* __docs/__: Das Datenbankschema, die Konfiguration für nginx, solr, Fontello, travis, etc.\n* __html/__: Statische Daten - vor allem die JS-Bibliotheken und (S)CSS-Dateien\n* __protected/yiic.php__: Aufruf der Kommandozeilentools (entweder von der Shell wie z.B. \"reindex_ba\" oder als Cron-Job wie z.B. \"update_ris_daily\")\n* __protected/commands/__: Definitionen der Kommantozeilentools\n* __protected/components/__: Diverse (meist statische) Hilf-Funktionen\n* __protected/config/__: Die Konfiguration. Insbesondere das Mapping der URLs auf die Controller-Funktionen und die Pfade der Kommandozeilenanwendungen.\n* __protected/RISParser/__: Die Parser für das Scraping.\n* __protected/models/__: Model\n* __protected/controllers/__: Controller\n* __protected/views/__: View\n\n## Weitere Dokumentation\n* [Icon-Font bearbeiten](docs/updating-fontello.md)\n* Eine Sammlung zu Dokumenten rund um München Transparent gibt es im repository [muenchen-transparent-doc](https://github.com/codeformunich/muenchen-transparent-doc)\n\n### pdf.js  Updaten:\n* Neuste Pre-built Version von pdf.js herunterladen und in `html/pdfjs` entpacken\n* `docs/pdfjs.patch` oder `docs/pdfjs.diff` darauf anwenden\n\n### Eingesetzte Shell-Programme\n* [Tesseract](https://code.google.com/p/tesseract-ocr/) für das automatische OCR. Wegen der besseren Erkennungsqualität kommt noch etwa 1-2mal montatlich eine zweite, manuelle OCR-Phase hinzu, basierend auf Nuance Omnipage.\n* [Imagemagick](http://www.imagemagick.org/) zur Vorbereitung des OCRs.\n* [Solr](http://lucene.apache.org/solr/) für die Volltextsuche.\n* [PDFbox](pdfbox.apache.org) zur Text-Extraktion aus den PDFs.\n\n### Eingesetzte PHP-Bibliotheken\n* [Yii Framework](http://www.yiiframework.com/)\n* [Zend Framework 2](http://framework.zend.com/)\n* [Solarium](http://www.solarium-project.org/)\n* [CSS2InlineStyles](https://github.com/tijsverkoyen/CssToInlineStyles) für die HTML-formatierten E-Mails.\n* [Composer](https://getcomposer.org/)\n* [Codeception](http://codeception.com/)\n\n### Eingesetzte JS/CSS-Bibliotheken\n* [Gulp](http://gulpjs.com/)\n* [Sass](http://sass-lang.com/)\n* [jQuery](http://www.jquery.com/)\n* [Leaflet](http://leafletjs.com/) (mit dem Kartenmaterial von [Skobbler](http://www.skobbler.com/))\n* [Bootstrap](http://getbootstrap.com/)\n* [Material Design for Bootstrap](https://mdbootstrap.com/)\n* [Fontello](http://fontello.com/)\n* [Moment.js](momentjs.com)\n* [FullCalendar](http://fullcalendar.io/)\n* [List.js](http://www.listjs.com/)\n* [Bower](http://bower.io/)\n* [Isotope](http://isotope.metafizzy.co/)\n* [CKEditor](http://ckeditor.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeformunich%2Fmuenchen-transparent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeformunich%2Fmuenchen-transparent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeformunich%2Fmuenchen-transparent/lists"}