Skip to content
Joël Deffner edited this page Jul 17, 2026 · 3 revisions

FlightMeet Wiki

FlightMeet is a community platform for paraglider pilots: find and create flying meets, team up in flight groups, chat with other pilots, and check launch-site weather before committing to a flying day.

The project (repository fwebdev) is a decoupled two-tier application living in a single repository:

  • frontend/: a React 19 single-page application (Vite + TypeScript) that renders all UI.
  • app/: a CodeIgniter 4 (PHP 8.2) backend that serves a JSON-only API under /api/*. It never renders HTML.

In production the SPA is compiled into public/ and served from the same origin as the API at https://team11.wi1cm.uni-trier.de/public/.

What the app does

Feature Summary
Meet discovery All flying meets as cards with title, spot, region, date/time, experience level, participant count and open/full status. Instant client-side search plus region and level filters.
Join / leave One-click participation with immediate feedback. Full meets are locked automatically. Counts and status are always derived, never stored.
Meet management Create and edit meets with validation; pick the flying spot on an interactive Leaflet map, or let the backend geocode it.
Flight groups Regional and interest-based pilot communities, each with its own chat channel.
Chat A global "All pilots" channel plus per-group channels. Full page at /chat and a floating popover launcher on every page. Polls every 3 seconds.
Weather Open-Meteo forecasts with geocoding search, wind-first data display, and cached weather reports shown on a clustered map.
Accounts & profiles Registration, session login (CodeIgniter Shield), public pilot profiles, subscription tiers (pilot / club / school), and roles (user / moderator / admin).
Admin dashboard User management with server-side paging, search, filtering and sorting (TanStack Table).
Landing page Animated marketing showcase built with GSAP scroll animations.

Wiki contents

Page What it covers
Architecture The two-tier design, request flow, and how the SPA and API are served together
Getting Started Prerequisites, setup, dev workflow, test accounts
Backend CodeIgniter controllers, routes, filters, and libraries
Frontend React routing, pages, components, and the UI stack
API Reference The full JSON contract between SPA and backend
Authentication and Roles Shield sessions, the role model, CSRF, and the admin area
Database Schema, migrations, and seeders
Weather Integration Open-Meteo geocoding/forecast usage and report caching
Deployment Production build, .htaccess routing, and the university server

Key documents in the repository

The golden rule

All UI is React. A new page means a route in frontend/src/ plus a JSON endpoint under /api/.... CodeIgniter never renders HTML (view() is off-limits); it returns JSON only.

Clone this wiki locally