Changes between Version 4 and Version 5 of P4
- Timestamp:
- 01/03/26 22:41:06 (2 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
P4
v4 v5 9 9 10 10 == Technologies and Tools 11 12 11 The prototype is implemented using the following technologies: 13 12 14 Python 3.11 15 16 Flask web framework 17 18 SQLite relational database 19 20 SQL schema and seed scripts 21 22 Flask development server (local execution) 13 * Python 3.11 14 * Flask web framework 15 * SQLite relational database 16 * SQL schema and seed scripts 17 * Flask development server (local execution) 23 18 24 19 == Prototype Architecture 25 26 20 The backend prototype consists of: 27 21 28 An SQLite database created using SQL DDL scripts 29 30 Pre-populated sample data using seed scripts 31 32 A Flask application exposing REST endpoints 33 34 JSON responses for all API calls 22 * An SQLite database created using SQL DDL scripts 23 * Pre-populated sample data using seed scripts 24 * A Flask application exposing REST endpoints 25 * JSON responses for all API calls 35 26 36 27 The application is executed locally and accessed through a web browser using HTTP requests. 37 28 38 29 == Implemented REST Endpoints 39 40 30 The following REST endpoints are implemented and operational: 41 31 42 '''/weddings''' 32 '''/weddings''' 43 33 Returns a list of weddings stored in the database. 44 34 45 '''/weddings/<wedding_id>/events''' 35 '''/weddings/<wedding_id>/events''' 46 36 Returns all events associated with the selected wedding. 47 37 48 '''/weddings/<wedding_id>/guests''' 38 '''/weddings/<wedding_id>/guests''' 49 39 Returns all guests related to a specific wedding. 50 40 51 '''/weddings/<wedding_id>/attendance''' 52 Displays attendance information for a wedding event, including guest names, roles, attendance status, and table assignments. 41 '''/weddings/<wedding_id>/attendance''' 42 Displays attendance information for a wedding event, including guest names, roles, 43 attendance status, and table assignments. 53 44 54 '''/weddings/<wedding_id>/rsvp''' 45 '''/weddings/<wedding_id>/rsvp''' 55 46 Returns RSVP responses for guests for a selected event. 56 47 57 '''/availability/venue''' 48 '''/availability/venue''' 58 49 Checks venue availability for a given venue, date, and time interval and detects possible scheduling conflicts. 59 50 60 51 == Demonstrated Functionalities 61 62 52 The prototype demonstrates the following key functionalities: 63 53 64 Retrieval of wedding data from the database 65 66 Display of attendance overview per event 67 68 Role-based guest participation (guest, best man) 69 70 Handling of optional attributes (e.g. table number) 71 72 Venue availability checking with time overlap detection 54 * Retrieval of wedding data from the database 55 * Display of attendance overview per event 56 * Role-based guest participation (guest, best man) 57 * Handling of optional attributes (e.g. table number) 58 * Venue availability checking with time overlap detection 73 59 74 60 == Venue Availability Logic 75 76 61 Venue availability is determined by checking existing bookings for a selected venue on a specific date. 77 62 78 63 Two scenarios are demonstrated: 79 64 80 Conflict case 65 '''Conflict case''' 81 66 If an existing confirmed booking overlaps with the requested time interval, the venue is not available. 82 67 The response returns "available": false and provides details about the conflicting booking. 83 68 84 Free case 69 '''Free case''' 85 70 If no overlapping bookings exist, the venue is available. 86 71 The response returns "available": true with an empty conflicts list. … … 89 74 90 75 == Prototype Evidence 91 92 76 The following screenshots are attached to this page as evidence of the working prototype: 93 77 94 Flask development server running locally 95 96 Overview of available REST endpoints 97 98 Wedding list endpoint response 99 100 Attendance overview endpoint response 101 102 Venue availability conflict example 103 104 Venue availability free example 78 * Flask development server running locally 79 * Overview of available REST endpoints 80 * Wedding list endpoint response 81 * Attendance overview endpoint response 82 * Venue availability conflict example 83 * Venue availability free example 105 84 106 85 These screenshots confirm the correct execution of the backend prototype and successful interaction with the database. 107 86 108 87 == Implemented Use Cases 109 110 88 The prototype demonstrates the following usage scenarios: 111 89 … … 119 97 120 98 == Conclusion 121 122 99 Phase P4 successfully demonstrates a working backend prototype for the Wedding Planner system. 123 100 The implementation validates the database design from previous phases and confirms the correct behavior 124 101 of core system functionalities through RESTful API endpoints. 125 102 126 The prototype provides a solid foundation for further development and potentialfrontend integration.103 The prototype provides a solid foundation for further development and future frontend integration.
