wiki:About

Version 1 (modified by 223091, 2 weeks ago) ( diff )

--

Project Overview

The Room Reservation System is a database-oriented project developed as part of the Databases course. The goal of the project is to design and implement a relational database that supports the reservation of rooms such as classrooms, offices, and meeting spaces. The system allows users to reserve rooms for specific dates and time intervals while ensuring that overlapping reservations are not permitted.

The project primarily focuses on database design and data management rather than on the development of complex user interfaces. Emphasis is placed on correctness, consistency, and integrity of the stored data.

Problem Statement

In many organizations, room reservations are often handled manually or using loosely structured tools, which may result in scheduling conflicts, double bookings, and inefficient resource usage. Without a centralized database, it is difficult to accurately track room availability and reservation history.

This project aims to address these issues by providing a structured and reliable database solution that enforces data integrity and supports efficient reservation management.

System Users and Roles

The system supports the following user roles:

  • Regular Users – Users who can search for available rooms and create reservations for specific dates and time intervals.
  • Administrators – Users responsible for managing rooms and overseeing reservations, including adding, modifying, and canceling reservations.

Each role has clearly defined permissions to ensure controlled access to system functionality.

Main Functionalities

The main functionalities of the Room Reservation System include:

  • Management of room information such as capacity and location.
  • Searching for available rooms based on date and time.
  • Creating reservations while preventing scheduling conflicts.
  • Viewing and managing existing reservations.
  • Administrative control over rooms and reservations.

Project Scope

The scope of this project is limited to the design and implementation of the database layer and database-driven application logic. The project does not aim to deliver a production-ready application, but rather to demonstrate correct database modeling, normalization, constraint definition, and SQL usage.

Technologies and Tools

The following technologies and tools will be used in the implementation of the project:

  • PostgreSQL for relational database management.
  • SQL for data definition and manipulation.
  • Trac Wiki for project documentation.
  • A simple prototype application (e.g., command-line interface) to demonstrate database interaction.

Project Team

This project is developed as an individual project by:

  • Nikola Sarafimov
Note: See TracWiki for help on using the wiki.