Database Setup
Follow these steps to set up the Inn of Joy database.
Step 1: Create Database Tables
Copy the SQL below and run it in your Supabase Dashboard > SQL Editor
-- Run this SQL in your Supabase Dashboard > SQL Editor -- Create rooms table CREATE TABLE IF NOT EXISTS rooms ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), room_name TEXT NOT NULL, slug TEXT UNIQUE NOT NULL, description TEXT DEFAULT '', price_per_night INTEGER NOT NULL, max_guests INTEGER NOT NULL DEFAULT 2, amenities JSONB DEFAULT '[]'::jsonb, images JSONB DEFAULT '[]'::jsonb, is_active BOOLEAN DEFAULT true, created_at TIMESTAMPTZ DEFAULT now(), updated_at TIMESTAMPTZ DEFAULT now() ); -- Create inquiries table CREATE TABLE IF NOT EXISTS inquiries ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), full_name TEXT NOT NULL, phone TEXT NOT NULL, email TEXT, check_in DATE NOT NULL, check_out DATE NOT NULL, room_type TEXT, num_guests INTEGER DEFAULT 1, special_requests TEXT, status TEXT DEFAULT 'New', created_at TIMESTAMPTZ DEFAULT now(), updated_at TIMESTAMPTZ DEFAULT now() ); -- Create indexes for common queries CREATE INDEX IF NOT EXISTS idx_rooms_slug ON rooms(slug); CREATE INDEX IF NOT EXISTS idx_rooms_active ON rooms(is_active); CREATE INDEX IF NOT EXISTS idx_inquiries_status ON inquiries(status); CREATE INDEX IF NOT EXISTS idx_inquiries_created ON inquiries(created_at DESC); -- Disable RLS for simplicity (enable with policies later if needed) ALTER TABLE rooms ENABLE ROW LEVEL SECURITY; ALTER TABLE inquiries ENABLE ROW LEVEL SECURITY; -- Allow all operations via service role (API uses service role key) CREATE POLICY "Allow all for service role" ON rooms FOR ALL USING (true) WITH CHECK (true); CREATE POLICY "Allow all for service role" ON inquiries FOR ALL USING (true) WITH CHECK (true);
Step 2: Verify Tables
Check if the tables were created successfully.
Step 3: Seed Room Data
Add sample rooms to get started quickly.
Step 4: Create Admin Account
Create an admin user to manage the hotel dashboard.
After completing all steps, visit the homepage or admin login.
