Design - eaakashmaurya/CS308_Fall20-Team5_SlotBookingProject GitHub Wiki

The Slot Booking Project

Design Document

Version Date Author(s) Description
v1.0 09/11/20 Zaidan Bhat (B18040) Initial version
Aakash Maurya (B18042)
Chandan Prakash (B18050)
Kalyani Kumari (B18063)
Mohit Kumar (B18072)

Table of Contents

  1. Introduction
    1.1. Design Overview
    1.2. Intended Audience
    1.3. References
  2. Detailed Design
    2.1. Architecture
    • Components
    • Interfaces
    2.2. Algorithms and Data Structures
    2.3. External Data
    • Databases
    • Files
    2.4. Performance
    2.5. Test Scripts

Introduction

This project can be used to keep track of bookings done by customers and service providers. Service providers can use it as a tool to approve or reject bookings. Customers can easily send booking requests and can easily keep track of their previous bookings. The project also aims to ease the booking related transactions both for users and service providers.

1.1 Design Overview

The product is based on a GUI interface developed using LAMP. Users can log in and book lab equipment. The administration will then approve or schedule a booking. Anyone can use this tool to keep track of all previous booking and related payments. This application has an access level. Admin and User. The admin has a super privilege to see all requests by users as the admin is responsible to accept a booking or not. Users can send a request to the admin to book equipment. User can see his/her previous bookings and details.

1.2 Intended Audience

This document is intended for software managers, coders, and testers.

1.3 References

[1] Dr. Padmanabhan Rajan, The User Slot Booking Project, IIT Mandi, 09/11/2020.
[2] What is LAMP?, https://techterms.com/definition/lamp
[3] What is Xampp? https://www.how2shout.com/linux/how-to-install-xampp-on-ubuntu-20-04-lts/
[4] What is php? https://www.php.net/
[5] How to run a project in Xampp? https://bitnami.com/stack/xampp

2 Detailed Design

For rapid implementation and future expansion, the LAMP technology is used as the platform for Slot Booking Project (Ref. [2]).

2.1 Architecture

The Slot Booking Project architecture (Fig. 1) conforms to the multi-tier, service-oriented architecture of LAMP. (Ref. [3]).

Entity - Relationship Diagram

ER-diagram

Components

  1. User
  2. Admin

Interfaces

  1. Customer Interface.
  2. Admin Interface.

2.2 Algorithms and Data Structures

An array of objects is used to store equipment details. Lab Facilities are considered as one object. With every facility, it has its own cost that also varies on user to user depending on external to the inner user.

2.3 External Data

Databases

Database c4dfed_facility_booking have following tables-

  1. admin :- which stores the admin login details.
  2. equipment :- stores the equipment details such as name, model, cost, usertype, ratetype etc.
  3. record :- stores the booking record.
  4. user :- stores the user details such as id, name, email, usertype, password etc.
  5. login_details :- stores the user login details.
⚠️ **GitHub.com Fallback** ⚠️