3.4 KiB
3.4 KiB
jachty3.pagedev.pl
What This Is
Strona internetowa wypożyczalni jachtów oparta na WordPress z customowym pluginem yacht-booking-system. System umożliwia prezentację floty jachtów, rezerwację przez frontend (kalendarz FullCalendar), zarządzanie rezerwacjami przez panel admina oraz dwukierunkową synchronizację z Google Calendar.
Core Value
Klienci mogą sprawdzić dostępność jachtu i złożyć rezerwację przez stronę bez kontaktu z właścicielem.
Current State
| Attribute | Value |
|---|---|
| Version | 1.0.0 |
| Status | Beta |
| Last Updated | 2026-05-05 |
Plugin: wp-content/plugins/yacht-booking-system/
Requirements
Validated (Shipped)
- Custom Post Types:
yacht,yacht_booking— faza 1 - Admin CRUD dla jachtów — faza 2
- System dostępności z cache (
wp_yacht_availability) — faza 3 - Frontend kalendarz FullCalendar.js + Elementor widget + shortcode — faza 4
- Backend formularza rezerwacji (REST API + email do admina) — faza 5
- Admin zarządzanie rezerwacjami (approve/cancel/delete + email do klienta) — faza 6
- Google Calendar OAuth 2.0 — faza 7
- Synchronizacja dwukierunkowa Google Calendar ↔ WordPress — faza 8
- Szablony email (WYSIWYG + tagi) — aktualizacja Codex 2026-02-11
- Eksport CSV rezerwacji — aktualizacja Codex 2026-02-11
Active (In Progress)
- Faza 9: Finalizacja (settings, testy, tłumaczenia, dokumentacja)
Planned (Next)
- Tłumaczenia PL (.pot/.po/.mo)
- Security audit (nonce, escaping, SQL, capabilities)
- Testy cross-browser i mobile
- Dokumentacja użytkownika i dewelopera
Out of Scope
- Integracja z systemami płatności (Stripe/PayPal) — poza obecnym zakresem
Target Users
Primary: Właściciel wypożyczalni jachtów (admin)
- Zarządza flotą i rezerwacjami przez WP Admin
- Chce synchronizację z Google Calendar
Secondary: Klienci wypożyczalni
- Sprawdzają dostępność i składają rezerwacje przez frontend
Context
Technical Context:
- WordPress + PHP 7.4+
- Elementor Pro (page builder)
- FullCalendar.js v6 (CDN)
- Google Calendar API (OAuth 2.0, natywna implementacja bez SDK)
- MySQL — custom tabela
wp_yacht_availability - REST API: namespace
yacht-booking/v1
Constraints
Technical Constraints
- WordPress hosting (FTP deployment via ftp-kr)
- PHP 7.4+ (bez Composer/autoload PSR-4 — ładowanie manualne)
- FullCalendar via CDN (bez npm/bundlera)
Key Decisions
| Decision | Rationale | Date | Status |
|---|---|---|---|
| Własna implementacja OAuth bez Google PHP Client | Lżejsze rozwiązanie bez zewnętrznych zależności | 2026-02-11 | Active |
| FullCalendar via CDN | Brak środowiska npm/Webpack na serwerze WP | 2026-02-11 | Active |
Custom tabela wp_yacht_availability zamiast meta |
Wydajność zapytań dostępności | 2026-02-11 | Active |
Tech Stack
| Layer | Technology | Notes |
|---|---|---|
| CMS | WordPress 6.x | |
| PHP | PHP 7.4+ | Singleton pattern, namespace YachtBooking\ |
| Frontend | FullCalendar.js v6 | CDN, jQuery |
| Page Builder | Elementor Pro | Custom widget |
| Database | MySQL | Custom table + CPT meta |
| Calendar Sync | Google Calendar API v3 | OAuth 2.0, native WP HTTP API |
| Deployment | FTP (ftp-kr VS Code extension) |
PROJECT.md — Updated when requirements or context change Last updated: 2026-05-05