100 lines
3.4 KiB
Markdown
100 lines
3.4 KiB
Markdown
# 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)
|
|
|
|
- [x] Custom Post Types: `yacht`, `yacht_booking` — faza 1
|
|
- [x] Admin CRUD dla jachtów — faza 2
|
|
- [x] System dostępności z cache (`wp_yacht_availability`) — faza 3
|
|
- [x] Frontend kalendarz FullCalendar.js + Elementor widget + shortcode — faza 4
|
|
- [x] Backend formularza rezerwacji (REST API + email do admina) — faza 5
|
|
- [x] Admin zarządzanie rezerwacjami (approve/cancel/delete + email do klienta) — faza 6
|
|
- [x] Google Calendar OAuth 2.0 — faza 7
|
|
- [x] Synchronizacja dwukierunkowa Google Calendar ↔ WordPress — faza 8
|
|
- [x] Szablony email (WYSIWYG + tagi) — aktualizacja Codex 2026-02-11
|
|
- [x] 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*
|