Files
jachty.pkmp.com.pl/.paul/PROJECT.md
2026-05-06 00:18:37 +02:00

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