A robust, full-stack web application built using Flask and Oracle Database that manages event creation, room reservations, and resource allocation across an institution. The system integrates PL/SQL stored procedures, triggers, and functions to maintain business logic, data consistency, and transactional integrity.
-
Role-based Access
- Admin: View and approve all bookings
- Faculty: Approval of bookings
- Student: Create events and submit room/resource booking requests
-
Dynamic Event Creation
- Events are created by students using a PL/SQL stored procedure
create_event.
- Events are created by students using a PL/SQL stored procedure
-
Booking Request System
- Students can book rooms/resources for events.
- Uses
create_bookingprocedure with triggers checking real-time availability.
-
Approval Workflow
- Admins can approve bookings via
approve_bookingprocedure. - Triggers and procedures ensure atomic updates to availability and status.
- Admins can approve bookings via
-
PL/SQL Integration
- Stored Procedures:
create_event,create_booking,approve_booking - Triggers:
trg_check_resource_availability,trg_update_room_status, etc. - Functions:
get_upcoming_events
- Stored Procedures:
- Backend: Flask, cx_Oracle
- Frontend: HTML, Bootstrap, Jinja2 Templates
- Database: Oracle SQL, PL/SQL
- Authentication: Flask-Login
- ORM/Drivers: Direct cx_Oracle integration with procedures
- Students login → Create events using
create_eventprocedure - Students fill booking form → Calls
create_booking - Trigger
trg_check_resource_availabilityensures stock - Admins approve →
approve_bookinglogs in approval table and updates booking