Files
mooresunnydaze/README.md
T

104 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Moore Sunny Daze
**Direct-booking vacation rental site for Maravilla 1403, Miramar Beach FL.**
| | |
|---|---|
| **Owners** | Tim & Ashley Moore |
| **Property** | Maravilla 1403 — 3BR/2BA, sleeps 8 |
| **Location** | Miramar Beach, FL 32550 |
| **Status** | 🚧 In Development |
| **Deployment** | Core (152.53.33.195) |
## Architecture
```
mooresunnydaze.com
├── / (landing page) → /var/www/mooresunnydaze/index.html
├── /admin/ (dashboard) → /var/www/mooresunnydaze/admin.html
├── /api/* (booking API) → 127.0.0.1:8911 (FastAPI)
└── /stripe-webhook (payments) → 127.0.0.1:8911
```
## Tech Stack
| Layer | Tech |
|---|---|
| Frontend | Single-file HTML/CSS/JS (Coastal Elegant theme) |
| Backend | FastAPI + uvicorn (Python) |
| Database | SQLite |
| Payments | Stripe Checkout |
| Proxy | Caddy (reverse proxy + SSL) |
| Process | systemd |
## API Endpoints
### Public
| Method | Path | Description |
|--------|------|-------------|
| GET | `/api/health` | Health check |
| GET | `/api/property` | Property details |
| GET | `/api/availability?month=YYYY-MM` | Booked dates for month |
| POST | `/api/quote` | Calculate price for dates |
| POST | `/api/booking` | Create booking → Stripe checkout |
| GET | `/api/booking/{id}` | View booking details |
### Admin (Authorization: Bearer {key})
| Method | Path | Description |
|--------|------|-------------|
| GET | `/api/admin/stats` | Dashboard stats |
| GET | `/api/admin/bookings` | All bookings |
| GET | `/api/admin/guests` | Guest directory |
| PATCH | `/api/admin/booking/{id}` | Update booking status |
| POST | `/api/admin/block-date` | Block a date |
| DELETE | `/api/admin/block-date` | Unblock a date |
### Stripe
| Method | Path | Description |
|--------|------|-------------|
| POST | `/stripe-webhook` | Stripe webhook (test mode) |
| POST | `/stripe-webhook-live` | Stripe webhook (live mode) |
## Pricing
| Season | Dates | Nightly Rate |
|--------|-------|-------------|
| Peak | May 15 Aug 15, holiday weeks | $295 |
| Off-peak | All other dates | $225 |
| Cleaning fee | Flat | $150 |
| Pet fee | Per stay | $50 |
| Minimum stay | | 3 nights |
## Deployment
```bash
# Quick start (test)
/opt/mooresunnydaze/venv/bin/uvicorn server:app --host 127.0.0.1 --port 8911 --app-dir /opt/mooresunnydaze
# Production deploy
bash /tmp/deploy-msd.sh
```
## Environment
Copy `.env.example` to `.env` and fill in:
| Variable | Description |
|----------|-------------|
| `STRIPE_SECRET_KEY` | Stripe API secret key |
| `STRIPE_WEBHOOK_SECRET` | Stripe webhook signing secret |
| `MSD_ADMIN_API_KEY` | Admin dashboard auth key |
## Related Projects
- **Beach Direct** — Commercial product built from this reference implementation. See `docs/beach-direct-project.md`.
## Domain
- Current: `mooresunnydaze.com` (Wix, DNS: 185.230.63.x)
- Target: Transfer from GoDaddy → Cloudflare, point to Core (152.53.33.195)
- Migration plan: `docs/migration-plan.md`