= Documentation / Build Instructions = This page explains how to build and run the Wedding Planner Phase P4 prototype locally. The P4 prototype is implemented as a Flask REST application. Since this is a prototype phase, the main scenarios are demonstrated through REST endpoints (JSON responses in browser/Postman). The prototype uses a local SQLite database, which is initialized using SQL scripts. == Prerequisites == * Python 3.x installed * pip installed == Project structure == Main files / folders: * /app/app.py - Flask entry point * /app/requirements.txt - Python dependencies * schema.sql - database schema creation script * seed.sql - demo dataset loading script == 1. Obtain the project source code == Obtain the project source code from the repository (or download it as ZIP). == 2. Install Python dependencies == Open a terminal in the project folder and navigate into the /app folder: {{{ cd app }}} Install dependencies: {{{ pip install -r requirements.txt }}} == 3. Initialize database (SQLite) == The SQLite database file is created automatically on first run (e.g., wedding_planner.db). Schema and seed scripts are executed to initialize the database. The SQL scripts (schema.sql and seed.sql) are located in the root folder of the project. The prototype uses a local SQLite database. Run the SQL scripts to create schema and load demo data: * Schema created: [[Image(tables_schema_creation.png, width=900)]] * Demo user dataset loaded: [[Image(user_data_load.png, width=900)]] * Demo wedding dataset loaded: [[Image(wedding_data_load.png, width=900)]] * Demo guest dataset loaded: [[Image(guest_data_load.png, width=900)]] == 4. Run the Flask prototype == Navigate into the folder containing app.py: {{{ cd app python app.py }}} Successful startup output example: [[Image(http.jpg, width=900)]] == 5. Access the prototype == Open the browser: * http://127.0.0.1:5000 This page lists the available REST endpoints of the prototype: [[Image(p4-prototype.jpg, width=900)]] == 6. Available REST endpoints == * /weddings * /weddings/1/events * /weddings/1/guests * /weddings/1/attendance * /weddings/1/rsvp * /availability/venue?venue_id=1&date=2026-06-20&start=15:00&end=21:00 Example screenshots: * Weddings list: [[Image(weddings.png, width=900)]] * Events list: [[Image(events.png, width=900)]] * Guests list: [[Image(guests.png, width=900)]] * Attendance overview: [[Image(attendance.png, width=900)]] * RSVP overview: [[Image(rsvp.png, width=900)]] == Notes == * This is a prototype implementation for Phase P4. * Since this is a REST-based prototype, interactions are demonstrated through JSON responses in browser/Postman rather than a full final UI.