# MeinWeimar — Flutter App & WordPress Plugin
> **Working in Progress** · Private portfolio repository · Active development
MeinWeimar is a location-based local platform for residents, students and
visitors. This repository intentionally contains **only two product parts**:
1. the Flutter consumer app;
2. the `meinweimar-core` WordPress plugin that provides the editorial/admin
layer and the REST contract consumed by the app.
The complete public website, WordPress core, databases, private infrastructure
and unrelated platform modules are not part of this repository.

## Why this project is interesting
MeinWeimar combines a mobile/web Flutter client with WordPress used as a
structured content and administration backend. The goal is a maintainable
product boundary: content, branding, navigation, categories, media and
configuration are managed in WordPress and delivered through a versioned REST
contract instead of being hardcoded in the Flutter UI.
The project demonstrates work across:
- Flutter/Dart application architecture for iOS, Android and Web;
- WordPress plugin architecture with custom post types, taxonomies, admin
settings and REST endpoints;
- localized German/English UI and backend-controlled labels;
- discovery/list/detail flows for places, services, events, classifieds, jobs
and real estate;
- map, GPS, geocoding, marker and navigation contracts;
- caching, ETag/config-version handling and offline-safe fallbacks;
- role-aware account, claim, favorites, moderation and messaging boundaries;
- automated Flutter tests, PHP/REST contract checks and release builds.
## Repository structure
```text
flutter-app/ Flutter consumer application
wordpress-plugin/ meinweimar-core WordPress plugin
screenshots/ Curated portfolio preview only
```
## Current status
This is an active **Working in Progress** project. The core architecture and
many end-to-end flows are implemented and continuously tested. Native device
polish, production content, final legal/privacy review and further product
modules are still being developed. The repository does not claim to be a
finished production release.
## Local development
### Flutter app
```bash
cd flutter-app
flutter pub get
flutter analyze
flutter test
flutter run --dart-define=MW_API_BASE_URL=https://example.test/wp-json/meinweimar/v1
```
The API base URL and other environment-specific values are supplied at build
or run time. No credentials are stored in the repository.
### WordPress plugin
Copy `wordpress-plugin` into a WordPress installation's
`wp-content/plugins/meinweimar-core` directory and activate it in the admin
area. The plugin owns the MeinWeimar content types, editorial settings,
permissions, REST responses, media/configuration contracts and frontend
integration points.
## Privacy and repository boundary
This repository is private and is prepared for controlled technical review.
Secrets, production database exports, user data, WordPress uploads, private
keys and infrastructure configuration must remain outside version control.
The public-facing portfolio page uses a separate, redacted presentation layer
and does not expose the private repository directly.
## For technical reviewers
The most relevant entry points are:
- `flutter-app/lib/core` — shared configuration, networking, localization,
theme and location contracts;
- `flutter-app/lib/features` — consumer-facing product surfaces;
- `flutter-app/lib/repositories` — API boundary and data access;
- `wordpress-plugin/includes` — plugin services, REST, admin and contracts;
- `wordpress-plugin/assets` — admin/frontend integration assets.
MeinWeimar is deliberately presented as an evolving product rather than a
finished demo: the repository shows the architectural decisions, the working
implementation and the remaining engineering work transparently.
