# Alya Paros

Independent bilingual accommodation website and booking system for Alya Paros, a Cycladic home in Paros, Greece.

This repository is intended to become a production-ready local-first application with:

- Next.js App Router, TypeScript, Tailwind CSS, and shadcn/ui.
- PostgreSQL through Docker Compose and Drizzle ORM migrations.
- A real booking engine with database-level overlap protection.
- English and Greek locale routes.
- A secure administration panel.
- Local Mailpit email testing.
- Optional administrator-only OpenAI image generation for non-factual editorial assets.

The project uses the public Airbnb listing as the initial factual source only:

https://www.airbnb.com/rooms/45386666

Authentic property images should be stored locally. Do not hotlink Airbnb images.

## Current Status

The repository has been scaffolded and the architecture has been documented. Implementation proceeds through the phases in `PLAN.md`.

Known local environment notes:

- Node.js is available.
- pnpm is used through `npx pnpm@latest` in this Windows environment because global Corepack activation needs administrator permission.
- Docker is required for PostgreSQL and Mailpit but is not available in the current Codex shell.

## Quick Start

```bash
npx pnpm@latest install
docker compose up -d
npx pnpm@latest db:generate
npx pnpm@latest db:migrate
npx pnpm@latest db:seed
npx pnpm@latest dev
```

Then open:

http://localhost:3000

See `SETUP.md` for complete setup, troubleshooting, backup, restore, and deployment notes.

## Documentation

- `PLAN.md`
- `SETUP.md`
- `docs/ARCHITECTURE.md`
- `docs/DATABASE.md`
- `docs/BOOKING_RULES.md`
- `docs/SECURITY.md`
- `docs/CONTENT_AND_MEDIA.md`
- `docs/DECISIONS.md`
- `docs/PROPERTY_MEDIA_REQUIRED.md`
