You are on page 1of 47

Hotel MANAGEMENT

A
Project Report
Submitted in the partial fulfillment for the award of

MasterofComputerApplication

Submitted to

DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY


LUCKNOW (UP) INDIA

Submitted by
Praveen Kumar Dubey (1902310149037)
Under the Guidance of

Prof. Ashutosh Pradhan (HOD MCA)

DEPARTMENT OF MASTER OF COMPUTER APPLICATION

R.D. ENGINEERING COLLEGE GHAZIABAD

2021
1
Table of Contents
1. INTRODUCTION 6-9

1.1. Overview
1.2. Purpose
1.3. Scope
1.4. Advantages of thesystem
1.5. Objective

2. PROJECT CATEGORY TOOLS&ENVIRONMENT 10-13

2.1. Front-endcoverage

2.1.1 About HTML

2.1.2 About CSS

2.1.3 AboutJavaScript

2.2. Back-endcoverage

2.2.1 About PHP

2.2.1 About SQL

2.3. Hardware & Softwarerequirements

2.3.1 Softwarerequired

2.3.2 Hardware required

2.4. Technologiesused

2.4.1 Frontendlanguages

2.4.2 Programminglanguages

2.4.3 Backendlanguages

3. PROJECTDEVELOPMENTSTAGES 14-22

3.1. Feasibilitystudy

2
3.2. Systemdesign

3.2.1 E-RDiagram
3.2.2 DFDDiagram

3.3. Systemdevelopment
3.3.1 ScreenShots

4. CONCLUSION 23

5. FUTUREENHANCEMENT 23

6. BIBLIOGRAPHY 24
R.D. ENGINEERING COLLEGE GHAZIABAD

CANDIDATE DECLARATION

I hereby declare that the work, which is being presented in the project, entitled Study
Notes Sharing site towards the partial fulfillment of the requirement for the award of
the degree of Master Computer Application Submitted in the Department of MCA , R.D
Engineering College & Technical Campus, Ghaziabad (India) is an authentic record of my
own work carried out during the period from August 2019 to April 2021, under the guidance
of Prof. Ashutosh Pradhan (HOD), Department of MASTER COMPUTER
APPLICATION, R.D Engineering College & Technical Campus ,Ghaziabad.
I have not submitted the matter embodied in this project for the award of any other degree or
diploma.

Praveen kumar
Dubey(1902310149037)

Date:
Place: Ghaziabad
R.D. ENGINEERING COLLEGE GHAZIABAD

CERTIFICATE

University Lucknow (U.P.) by Praveen Kumar Dubey is a partial fulfillment of the requirement for the award of degree of Maste

Guided By Approved By Forward by

(Prof. Ashutosh Pradhan) (Prof. Ashutosh Pradhan) (Prof. Mohd Vakil)


Asst.Professor, MCA HOD MCA Department Dean Academic
R.D. ENGINEERING COLLEGE GHAZIABAD

ACKNOWLEDGEMENT

I express my deep sense of gratitude to Mr. Ashutosh Pradhan, Faculty of Master Computer
Application at R.D Engineering College Technical Campus, Ghaziabad,.Whose kindness
valuable guidance and timely help encouraged me to complete this volume on a very crucial
issue related to the work and who helped me in completing the project and he exchanged his
interesting ideas, thoughts and made this project easy andaccurate.
R.D. ENGINEERING COLLEGE GHAZIABAD

CERTIFICATE OF APPROVAL

This project work entitled Hotel Managementsubmitted by Praveen Kumar Dubey is


approved for the award of degree of Master Computer Application in MCA Deptt .

(Name & Signature of Internal Examiner) (Name & Signature of External Examiner)

Date: Date:
ABSTRACT

This project is aimed at developing a Hotel Management System for Hotel Manager. The system
is an online application that can be accessed throughout the organization and outside as well with
proper login provided.

The project has been planned to be having the view of distributed architecture, with
centralized storage of the database. The application for the storage of the data has been planned.
Using the constructs of MySQL and all the user interfaces have been designed using the
HTML,CSS,JS & PHP. The database connectivity is planned using the “Database” methodology.
The standards of security and data protective mechanism have been given a big choice for proper
usage. The application takes care of different modules and their associated reports, which are
producedaspertheapplicablestrategiesandstandardsthatareputforwardedbytheadministrative staff.
INTRODUCTION

1.1 Overview

The main objective of the entire activity is to automate the process of day to day activities of
Hotel. Using this system you can manage room activities and keep track of admission of a New
Customer. Using this system you can check rooms according to customer’s need and can assign
easily room to customer. Checkout of a customer and updating the releasing room information in
the system is very easy. When user do checkout system will generate final bill after calculating
all the bills. User can also check online, all the packages available. He can also book rooms
online. He can also cancel booked room online. Hotel management can also check the list of
Regular customers and feedback of the hotel’s customer.

1.2 Purpose:

The Software Requirements Specification (SRS) will provide a detailed description of the
requirements for the Hotel Management System (HMS). This SRS will allow for a complete
understanding of what is to be expected from the newly introduced system which is to be
constructed. The clear understanding of the system and its' functionality will allow for the correct
softwaretobedevelopedfortheenduserandwillbeusedforthedevelopmentofthefuturestages of the
project. This SRS will provide the foundation for the project. From this SRS, the Hotel
ManagementSystemcanbedesigned,constructed,andfinallytested.ThisSRSwillbeusedbythe
systemdevelopmentteamwhichisconstructingtheHMSandthehotelendusers.TheProjectteam will
use the SRS to fully understand the expectations of this HMS to construct the appropriate
software. The hotel end users will be able to use this SRS as a test to see if the constructing team
will be constructing the system to their expectations. it is not to their expectations the end users
canspecifyhowitisnottotheirlikingandtheteamwillchangetheSRStofittheendusers'needs.
1.3 Scope:

Theintroducingsoftware,HotelManagementSystemwhichisgoingtobeimplementedforHotels will
automate the major operations of the hotel. The Reservation System is to keep track in room
andhallreservationandcheckavailability.TheRoomManagementSystemisformanageallroom types
room services. The inventory Control System will keep track in all inventories of the hotel and
guest details will handled by guest management. Administration department will monitor the al.
There is three End Users for HMS. The End Users Are Owner, Manager and Receptionist. Owner
can access to all system functionalities without any restrictions. Manager can access to all system
functionalities wth limited restrictions. Receptionist can only access to the Reservation
managementsection.TokeeprestrictionsforeachEndUserlevelsHMScancreatedifferentLogin
functions.TheobjectivesoftheautomatedHotelManagementSystemistosimplifythedaytoday
processesofthehotel.Thesystemwillbeabletohandlemanyservicestotakecareofallcustomers in a
quick manner. As a solution to the large amount of file handling happening at the hotel, this
softwarewillbeusedtoovercomethosedrawbacks.Safety.easinessofusingandmostimportantly the
efficiency of information retrieval are some benefits the development team going to present with
this system. The system should be user appropriate, easy to use, provide easy recovery of errors
and have an overall end user high subjectivesatisfaction

1.4 Advantages of the system:

Performance: During past several decades, the records are supposed to be manually handled for
all activities. The manual handling of the record is time consuming and highly prone to error. To
improve the performance of the Hotel Management System, the computerized system is to be
undertaken. This project is fully computerized and user-friendly even that any of the memberscan
see the report and status of thecompany.

Efficiency: The basic need of this website is efficiency. The website should be efficient so that
whenever a new user submits his/her details the website is updated automatically. This recordwill
be useful for other usersinstantly.

Control: The complete control of the project is under the hands of authorized person who has the
password to access this project and illegal access is not supposed to deal with. All the control is
under the administrator and the other members have the rights to just seethe records not to change
any transaction or entry.

Security: Security is the main criteria for the proposed system. Since illegal access may corrupt
the database. So, security has to be given in this project.

1.5 Objective:

Duringthepastseveraldecadespersonnelfunctionhasbeentransformedfromarelativelyobscure record
keeping staff to central and top-level management function. There are many factors that have
influenced this transformation like technological advances, professionalism, and general
recognition of human beings as most important resources.

• Acomputer-basedmanagementsystemisdesignedtohandlealltheprimaryinformationrequired to
calculate monthly statements. Separate database is maintained to handle all the details required
for the correct statement calculation andgeneration.

• This project intends to introduce more user friendliness in the various activities such as record
updating, maintenance, andsearching.

• The searching of record has been made quite simple as all the details of the customer can be
obtained by simply keying in the identification of thatcustomer.

• Similarly, record maintenance and updating can also be accomplished by using theidentification
of the customer with all the details being automatically generated. These details are also being
promptly automatically updated in the master file thus keeping the record up todate.

• TheentireinformationhasmaintainedinthedatabaseorFilesandwhoeverwantstoretrievecan’t
retrieve, only authorization user can retrieve the necessary information which can be easily be
accessible from thefile.

• ThemainobjectiveoftheentireactivityistoautomatetheprocessofdaytodayactivitiesofHotel like:

1. Roomactivities
2. Admission of a NewCustomer
3. Assign a room according to customer’sdemand
4. Checkout of a computer and releasing theroom
5. Finally compute the billetc.
6. Packagesavailable.
7. Advance onlinebookings.
8. OnlineCancellation.
9. List of Regularcustomers.
10. Emailfacility.
11. Feedbacks
PROJECT CATEGORY TOOLS & ENVIRONMENT

2.1 FRONT ENDCOVERAGE:

2.1.1 AboutHTML:

Hypertext Markup Language (HTML) is the standard markup languagefor creating web
pagesand web applications. With Cascading Style Sheets(CSS) and JavaScriptit forms a triadof
cornerstone technologies for the World Wide Web.[3]Web browsersreceive HTML documents
from a web serveror from local storage and render them into multimedia web pages. HTML
describes the structure of a web page semanticallyand originally included cues for the appearance
of thedocument.

2.1.2 AboutCSS:

Cascading Style Sheets (CSS) is a style sheet languageused for describing the presentationof a
document written in a markup language.[1]Although most often used to set the visual style of
webpagesand user interfaces written in HTMLand XHTML, the language can be applied to
any XMLdocument, including plain XML,SVGand XUL, and is applicable to rendering
in speech, or on other media. Along with HTML and JavaScript, CSS is a cornerstone technology
used by most websites to create visually engaging webpages, user interfaces for web applications,
and user interfaces for many mobile applications

2.1.3 AboutJAVASCRIPT:

Javascript (JS) is a scripting languages, primarily used on the Web. It is used to enhance HTML
pages and is commonly found embedded in HTML code. JavaScript is an interpreted language.
Thus, it doesn't need to be compiled. JavaScript renders web pages in an interactive and dynamic
fashion. This allowing the pages to react to events, exhibit special effects, accept variable text,
validate data, create cookies, detect a user’s browser, etc.
2.2 BACK ENDCOVERAGE:

2.2.1 AboutPHP:

PHP is now the most famous server-side scripting language that runs on a web server. It gives
you an enhanced flexibility to make dynamic web pages and application. Below are some points
that highlight the importance of PHP development in the web development industry.

1. Supports a large number of database management system such as MySQL,Oracle,


Sybase,etc.
2. It is compatible with almost all the servers-software like Apache, IIS,etc.
3. PHP runs on all leading platforms like Linux, Windows,etc.
4. The syntax of the language is very simple which makes it easy to write onit.
5. There are a lot of functions available hence you get high degree offlexibility
6. Since it is an open-source, online support is available in its forums forfree
7. It is compatible with the most popular software integration's like Drupal, Typo3,Joomla,
osCommerce,etc.

For a web developer, following are the importance of PHP development:

 It is open source and the resources are also open source which makes it really cheap to
workon.
 PHP has a short learning curve which means it doesn’t take long to learn thelanguage.
 The language is highly efficient and error detection is also easier in thislanguage.
 PHP processes the data very fast and is among the fastest languagesavailable.
 Because of its high usability, it is training and acquiring talent isrisk-free.

PHP is an open source language which means odds are high that the language is going to evolve
in the future too.
2.2.2 AboutMySQL:

Structured Query Language (SQL) is a standard computer language for relational database
management and data manipulation. SQL is used to query, insert, update and modify data. We’re
using MYSQL rdbms in this project.

2.3 Hardware & SoftwareRequirements:

The project is implemented in PHP so we need


A web host (server) that supports PHP.
A web server and PHP installed on your own computer.
To install PHP on server you need to download a bundle of software (called stack) on your PC.
You can download a particular stack called XAMPP stack from here: XAMPP Installers
andDownloads for Apache Friends
For installation of XAMPP stack on your PC, you can follow this guide: How to Start
PHPProgramming: Basic PHP Scripts
XAMPP stands for Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) and Perl (P).

Also desired platform i.e. Linux ,windows 9x, XP, or 2000 or any operating system. Internet
Browser is required i.e Chrome, Opera, Internet Explorer or any other alternative.

2.3.2 Hardware Required:

As the project does not involve any database, its hardware requirements are minimal. AnySystem
with Pentium P2 or above processor, 32MB RAM, 1GB Hard Disk, a LAN Card, and a CDROM
is sufficient. Its network based software so computers connected with any kind of mode(wireless,
LANconnectedetc)willsuititsrequirements..It canalsoberunonasinglemachineforitsdemo use.

Best suited in laboratory where we can run its server on any machine and many clients can use it
simultaneously.
2.4 TECHNOLOGIESUSED:

2.4.1 FRONTENDLANGUAGES:

HTML, CSS, JAVASCRIPT

2.4.2 PROGRAMMINGLANGUAGE

PHP

2.4.3 BACKENDLANGUAGES:

MySQL
CODING
HOME PAGE CODING:
{% extends 'navigation.html' %}
{% load static %}
{% block body %}
<style>
    .image{
        width: 100%;
        height: 470px;
        background: url("{% static 'images/notes3.jpg' %}");
        background-repeat: no-repeat;
        background-position: top;
        background-size: cover;
    }
    
    .transparent-box{
        width: 100%; 
        height: 470px;
        background-color: lightgrey;
        border: 1px solid #cd853f;
        opacity: 0.6;
        z-index: 2;
        color: rebeccapurple;
    }
    .transparent-box p{
        margin-top: 10%;
        font-weight: bold;
        font-size: 60px;
        font-family: 'monotype corsiva';
        color: darkred;
        text-align: center;
    }

    .half-circle{
        height: 75px;
        width: 150px;
        border-radius: 90px 90px 0px 0px;
        margin: 0px;
        background-color: green;
    }

    .half-circle-bottom{
        height: 75px;
        width: 150px;
        border-radius: 0px 0px 90px 90px;
        margin: 0px;
        background-color: darkslategray;
    }

    .box-1 p{
        font-weight: bold;
        color: white;
        font-family: 'monotype corsiva';
        text-align: center;
        font-size: 26.9px;
    }

</style>

<!-- ------------------------------------------------------------------- -->

<div class="image">
    <div class="transparent-box">
        <p>study notes sharing Site</p>
    </div>
</div>

<h4 class="text-center text-danger mt-5 mb-5 "> Just 4 Steps to Follow </h4>

<div class="container mt-5">
    <div class="row">
        <div class="col-sm-3">
            <div class="box-1">
                <p class="half-circle"><i class="fas fa-user-circle mt-4"></i></p>
                <p class="half-circle-bottom ">Create Account</i></p>
            </div>
        </div>

        <div class="col-sm-3">
            <div class="box-1">
                <p class="half-circle"><i class="fas fa-sign-in-alt mt-4"></i></p>
                <p class="half-circle-bottom ">Login</i></p>
            </div>
        </div>

        <div class="col-sm-3">
            <div class="box-1">
                <p class="half-circle"><i class="fas fa-upload mt-4"></i></p>
                <p class="half-circle-bottom ">Upload Notes</i></p>
            </div>
        </div>

        <div class="col-sm-3">
            <div class="box-1">
                <p class="half-circle"><i class="fas fa-download mt-4"></i></p>
                <p class="half-circle-bottom ">Download Notes</i></p>
            </div>
        </div>
    </div>
</div>
<br><br>
{% endblock %}
USER LOGIN PAGE CODING:
{% extends 'navigation.html' %}
{% load static %}
{% block body %}

{% ifequal error "no" %}
    <script>
        alert('Logged in successfully');
        window.location=('{% url "profile" %}')
    </script>
{% endifequal %}

{% ifequal error "yes" %}
    <script>
        alert('Invalid Login Credentials.., Try Again');
    </script>
{% endifequal %}

<div class="container mt-5">
    <div class="row">
        <div class="col-sm-6">
            <h2 class="text-center"> NEW CUSTOMERS </h2>
            <hr>
            <p>By creating an accout with our website you will be able to move through the notes uploa
ding and downloading process and more...</p>
            <center><a href="{% url 'signup' %}" class="btn btn-success text-white mt-5"> CREATE 
AN ACCOUNT </a></center>
        </div>
        <div class="col-sm-6">
            <h2 class="text-center"> USER LOGIN </h2>
            <hr>
            <form action="" method="POST">
                {% csrf_token %}
                <label for="emailid"> Email Address </label>
                <input type="email" name="emailid" id="emailid" placeholder="Enter Email Id" class="f
orm-control">
                <label for="pswrd"> Password </label>
                <input type="password" name="pswrd" id="pswrd" placeholder="Enter password" class
="form-control">
                <input type="submit" value="Login" class="btn btn-success mt-2">
            </form>
        </div>
    </div>
</div>

{% endblock %}
USER SIGNUP PAGE CODING:
{% extends 'navigation.html' %}
{% load static %}
{% block body %}

{% ifequal error "no" %}
    <script>
        alert('SignedUp successfully');
        window.location=('{% url "login" %}')
    </script>
{% endifequal %}

{% ifequal error "yes" %}
    <script>
        alert('Something went wrong, try again');
    </script>
{% endifequal %}

<div class="container mt-5">
    <div class="row">
        <div class="col-sm-6">
            <h2 class="text-center"> NEW CUSTOMERS </h2>
            <hr>
            <p>By creating an accout with our website you will be able to move through the notes uploa
ding and downloading process and more...</p>
            <center><a href="{% url 'login' %}" class="btn btn-success text-white mt-5"> EXISTING 
CUSTOMER </a></center>
        </div>
        <div class="col-sm-6">
            <h2 class="text-center"> REGISTER WITH US </h2>
            <hr>
            <p> If you have not account with us , please signup </p>
            <form action="" method="POST">
                {% csrf_token %}
                <label for="firstname"> FirstName </label>
                <input type="text" name="fname" id="firstname" placeholder="Enter FirstName" class="
form-control">
                <label for="lastname">LastName</label>
                <input type="text" name="lname" id="lastname" placeholder="Enter LastName" class="f
orm-control">
                <label for="phone">Contact No.</label>
                <input type="tel" name="contact" id="phone" placeholder="Enter Contact Number" class
="form-control">
                <label for="emailid"> Email Address </label>
                <input type="email" name="emailid" id="emailid" placeholder="Enter Email Id" class="f
orm-control">
                <label for="pswrd"> Password </label>
                <input type="password" name="pswrd" id="pswrd" placeholder="Enter password" class
="form-control">
                <label for="">Branch</label>
                <select name="branch" id="branch" class="form-control">
                    <option value="Computer Science">Computer Science</option>
                    <option value="Mechanical">Mechanical</option>
                    <option value="Civil">Civil</option>
                    <option value="Electrical">Electrical</option>
                    <option value="Electronics">Electronics</option>
                </select>
                <label for="role">Are You?</label>
                <select name="role" id="role" class="form-control">
                    <option value="Student">Student</option>
                    <option value="Teacher">Teacher</option>
                </select>
                <input type="submit" value="SUBMIT" class="btn btn-success mt-2">
            </form>
        </div>
    </div>
</div>

{% endblock %}
UPLOAD NOTES PAGE CODING:
{% extends 'usernavigation.html' %}
{% load static %}
{% block body %}

{% ifequal error "no" %}
    <script>
        alert('File Uploaded successfully');
        // window.location=('{% url "login" %}')
    </script>
{% endifequal %}
{% ifequal error "yes" %}
    <script>
        alert('Something went wrong, try again');
    </script>
{% endifequal %}

<div class="container mt-5">
    <h2 class="text-center"> UPLOAD NOTES </h2>
            <hr>
    <div class="row">
        <div class="col-sm-6">
            <form method="POST" enctype="multipart/form-data">
                {% csrf_token %}
                <label for="Branch"> Branch </label>
                <select name="branch" id="Branch" class="form-control">
                    <option value="">---Select Branch---</option>
                    <option value="Computer Science">Computer Science</option>
                    <option value="Mechanical">Mechanical</option>
                    <option value="Electronics">Electronics</option>
                    <option value="Civil">Civil</option>
                    <option value="Electrical">Electrical</option>
                </select>
                <label for="Subject">Subject</label>
                <input type="text" name="subject" id="lastname" placeholder="Enter Subject Name" cla
ss="form-control">
                <label for="File">Notes File</label>
                <input type="file" name="notesfile" id="file" class="form-control">
                <label for="type"> File Type </label>
                <select name="filetype" id="Branch" class="form-control">
                    <option value="">---Select File Type---</option>
                    <option value="PDF">PDF</option>
                    <option value="PPT">PPT</option>
                    <option value="DOC/DOCX">DOC/DOCX</option>
                    <option value="TXT">TXT</option>
                    <option value="Image">Image</option>
                    <option value="ZIP/RAR">ZIP/RAR</option>
                </select>
                <label>Descripiton</label>
                <textarea name="description" id="" cols="30" rows="5" class="form-
control"></textarea>
                <input type="submit" value="SUBMIT" class="btn btn-success mt-2 mb-3">
            </form>
        </div>
        <div class="col-sm-6">
            <img src="{% static 'images/up.png' %}" alt="uploads" style="width: 600px;" >
        </div>
    </div>
</div>

{% endblock %}
VIEW ALL NOTES PAGE CODING:
{% extends 'admin_nav.html' %}
{% load static %}
{% block body %}

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap4.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-
bootstrap/4.5.2/css/bootstrap.css">
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">

<script>
    $(document).ready(function() {
    $('#example').DataTable();
} );
</script>

<div class="container mt-5">
    <h2 class="text-center"> VIEW All NOTES </h2>
            <hr>
    <table class="table table-bordered" id="example">
        <thead>
            <tr>
                <th> Sr. No. </th>
                <th> Uploaded By </th>
                <th> Uploading Date </th>
                <th> Branch </th>
                <th> Subject </th>
                <th> Download File </th>
                <th> File Type </th>
                <th> Description </th>
                <th> Status </th>
                <th> Assign Status </th>
                <th> Action </th>
            </tr>
        </thead>
        <tbody>
            {% for i in notes %}
            <tr>
                <td> {{forloop.counter}} </td>
                <td> {{i.user.username}} </td>
                <td> {{i.uploadingdate}} </td>
                <td> {{i.branch}} </td>
                <td> {{i.subject}} </td>
                <td> <a href="{{i.notesfile.url}}" class="btn btn-success" downloa
d>download</a></td>
                <td> {{i.filetype}} </td>
                <td> {{i.description}} </td>
                <td> {{i.status}} </td>
                <td> <a href="{% url 'assign_status' i.id %}" class="btn btn-success" 
>Assign&nbsp;Status</a></td>
                <td> <a href="{% url 'delete_notes' i.id %}" class="btn btn-danger" onclick="return conf
irm('Are you sure?')">delete</a></td>
            </tr>
            {% endfor %}
        </tbody>
    </table>
</div>

{% endblock %}
ADMIN HOME PAGE CODING:
{% extends 'admin_nav.html' %}
{% load static %}
{% block body %}

<style>
.container1{
    background-color: lightgray;
    border-radius: 8px;
}

h2, h4{
    padding: 10px;
}

.mydiv:hover{
    transform: translateY(-10px);
}

</style>

<br><br>
<div class="container mt-5">
    <div class="row">
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{pn}} </h2>
                <a href=" {%  url 'pending_notes' %} "> <h4 class="text-dark">PENDING NOTES</h4> 
</a>
            </div>
        </div>
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{an}} </h2>
                <a href=" {%  url 'accepted_notes' %} "> <h4 class="text-dark">ACCEPTED NOTE
S</h4> </a>
            </div>
        </div>
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{rn}} </h2>
                <a href=" {%  url 'rejected_notes' %} "> <h4 class="text-dark">REJECTED NOTE
S</h4> </a>
            </div>
        </div>
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{alln}} </h2>
                <a href=" {% url 'all_notes' %} "> <h4 class="text-dark">ALL NOTES</h4> </a>
            </div>
        </div>
    </div>
</div>

<footer class="container mt-5 text-center">
    <p style="font-size: 30pt; color: red; font-weight: bold;">Copyright &copy; <script
>document.write(new Date().getFullYear());</script> All Rights Reserved <span style="color: bro
wn;">|</span></span> </p>
</footer>

{% endblock %}
USER PASSWORD CHANGE PAGE CODING:
{% extends 'usernavigation.html' %}
{% load static %}

{% block body %}

{% ifequal error "no" %}
    <script>
        alert('Password Changed successfully');
        window.location=('{% url "logout" %}')
    </script>
{% endifequal %}

{% ifequal error "yes" %}
    <script>
        alert('Invalid Login Credentials.., Try Again');
    </script>
{% endifequal %}

<div class="container mt-5">
    <div class="row">
        <div class="col-sm-6">
            <img src="{% static 'images/changepassword.jpg' %}" alt="changepassword" style="width: 
400px;">
        </div>
        <div class="col-sm-6">
            <h2 class="text-center"> CHANGE PASSWORD  </h2>
            <hr>
            <form action="" method="POST">
                {% csrf_token %}
                <label for="emailid"> Old Password </label>
                <input type="password" name="old" id="emailid" placeholder="Enter Old Password" cla
ss="form-control">
                <label for="pswrd"> New Password </label>
                <input type="password" name="new" id="pswrd" placeholder="Enter New Password" cl
ass="form-control">
                <label for="pswrd"> Confirm Password </label>
                <input type="password" name="confirm" id="pswrd" placeholder="RE-Enter New Pass
word" class="form-control">
                <input type="submit" value="Submit" class="btn btn-success mt-2">
            </form>
        </div>
    </div>
</div>

{% endblock %}
CONTACT PAGE CODING:
{% extends 'navigation.html' %}
{% block body %}
{% load static %}

<div style="background-color:green; width:100%; height:100px;">
    <h3 class="text-white container pt-3">Contact Us</h3>
</div>

<div class="container mt-5">
   <div class="row">
       <div class="col-sm-6">
        <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!
1d13993.76074174746!2d77.4828199!3d28.7362717!3m2!1i1024!2i768!4f13.1!3m3!1m2!
1s0x0%3A0xc15ae694810c0c70!2sR.D.Engineering%20College!5e0!3m2!1sen!2sin!
4v1626262380679!5m2!1sen!2sin" width="500" height="450" style="border:0;" allowfullscree
n="" loading="lazy"></iframe>
       </div>
       <div class="col-sm-6 mt-5">
           <p><i class="fas fa-envelope"></i> Email Id : parvinderrajput.it@gmil.com </p>
           <p><i class="fas fa-phone-square"></i> Contact : 8826084846 </p>
           <p><i class="fas fa-address-card"></i> Address : RDEC, Ghaziabad </p>
           <p><i class="fas fa-clock"></i> Office Hours : 10:00 am to 7:00pm </p>
           <p>Follow us:</p>
           <a href="https://www.facebook.com/rdec.ghaziabad/"><i class="fab fa-facebook pl-
5"></i></a>
           <a href="https://twitter.com/AKTU_Lucknow?ref_src=twsrc%5Egoogle%7Ctwcamp
%5Eserp%7Ctwgr%5Eauthor"><i class="fab fa-twitter pl-5"></i></a>
           <a href=""><i class="fab fa-telegram-plane pl-5"></i></a>
       </div>
   </div>
</div>

{% endblock %}
ADMIN LOGIN PAGE CODING:

{% extends 'navigation.html' %}
{% load static %}
{% block body %}

{% ifequal error "no" %}
    <script>
        alert('Logged in successfully');
        window.location=('{% url "admin_home" %}')
    </script>
{% endifequal %}

{% ifequal error "yes" %}
    <script>
        alert('Invalid Login Credentials.., Try Again');
    </script>
{% endifequal %}

<div class="container mt-5" style="background-color: whitesmoke;">
    <div class="row">
        <div class="col-sm-6">
            <img src="{% static 'images/admin.jpg' %}" alt="admin" class="img-thumbnail mt-2" styl
e="width: 80%; height: 345px;">
        </div>
        <div class="col-sm-6">
            <h2 class="text-center"> ADMIN LOGIN </h2>
            <form action="" method="POST">
                {% csrf_token %}
                <label for="username"> Username </label>
                <input type="text" name="uname" id="username" placeholder="Enter username" class="
form-control">
                <label for="pswrd"> Password </label>
                <input type="password" name="pswrd" id="pswrd" placeholder="Enter password" class
="form-control">
                <input type="submit" value="Login" class="btn btn-success mt-2">
            </form>
    </div>
</div>
{% endblock %}

ADMIN HOME PAGE CODING:


{% extends 'admin_nav.html' %}
{% load static %}
{% block body %}

<style>
.container1{
    background-color: lightgray;
    border-radius: 8px;
}

h2, h4{
    padding: 10px;
}

.mydiv:hover{
    transform: translateY(-10px);
}

</style>

<br><br>
<div class="container mt-5">
    <div class="row">
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{pn}} </h2>
                <a href=" {%  url 'pending_notes' %} "> <h4 class="text-dark">PENDING NOTES</h4> 
</a>
            </div>
        </div>
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{an}} </h2>
                <a href=" {%  url 'accepted_notes' %} "> <h4 class="text-dark">ACCEPTED NOTE
S</h4> </a>
            </div>
        </div>
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{rn}} </h2>
                <a href=" {%  url 'rejected_notes' %} "> <h4 class="text-dark">REJECTED NOTE
S</h4> </a>
            </div>
        </div>
        <div class="col-sm-3 text-center mydiv">
            <div class="container1">
                <h2 class="text-primary"> {{alln}} </h2>
                <a href=" {% url 'all_notes' %} "> <h4 class="text-dark">ALL NOTES</h4> </a>
            </div>
        </div>
    </div>
</div>

<footer class="container mt-5 text-center">
    <p style="font-size: 30pt; color: red; font-weight: bold;">Copyright &copy; <script
>document.write(new Date().getFullYear());</script> All Rights Reserved <span style="color: bro
wn;">|</span></span> </p>
</footer>

{% endblock %}
Urls.py:
from django.contrib import admin
from django.urls import path
from notes import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    path('about/',views.about,name='about'),
    path('contact/',views.contact,name='contact'),
    path('login/',views.userlogin,name='login'),
    path('login_admin/',views.login_admin,name='login_admin'),
    path('signup/',views.signup1,name='signup'),
    path('admin_home/',views.admin_home,name='admin_home'),
    path('logout/',views.Logout,name='logout'),
    path('profile/',views.profile,name='profile'),
    path('changepassword/',views.changepassword,name='changepassword'),
    path('edit_profile/',views.edit_profile,name='edit_profile'),
    path('upload_notes/',views.upload_notes,name='upload_notes'),
    path('view_mynotes/',views.view_mynotes,name='view_mynotes'),
    path('delete_mynotes/<int:pid>',views.delete_mynotes,name='delete_mynotes'),
    path('viewallnotes/',views.viewallnotes,name='viewallnotes'),
    path('view_users/',views.view_users,name='view_users'),
    path('delete_users/<int:pid>',views.delete_users,name='delete_users'),
    path('pending_notes',views.pending_notes,name='pending_notes'),
    path('accepted_notes',views.accepted_notes,name='accepted_notes'),
    path('rejected_notes',views.rejected_notes,name='rejected_notes'),
    path('all_notes',views.all_notes,name='all_notes'),
    path('delete_notes/<int:pid>',views.delete_notes,name='delete_notes'),
    path('assign_status/<int:pid>',views.assign_status,name='assign_status'),
    path('',views.index,name='index'),

]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

views.py:
from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from .models import *
from django.contrib.auth import authenticate,logout,login
from datetime import date

# Create your views here.
def about(request):
    return render(request,'about.html')

def index(request):
    return render(request,'index.html')

def contact(request):
    return render(request,'contact.html')

def userlogin(request):
    error = ""
    if request.method == 'POST':
        u = request.POST['emailid']
        p = request.POST['pswrd']
        user = authenticate(username = u, password = p)
        try:
            if user:
                login(request, user)
                error = "no"
            else:
                error = "yes"
        except:
            error = "yes"
    d = {'error' : error}
    return render(request,'login.html',d)

def login_admin(request):
    error = ""
    if request.method == 'POST':
        u = request.POST['uname']
        p = request.POST['pswrd']
        user = authenticate(username = u, password = p)
        try:
            if user.is_staff:
                login(request, user)
                error = "no"
            else:
                error = "yes"
        except:
            error = "yes"
    d = {'error' : error}
    return render(request,'login_admin.html', d)

def signup1(request):
    error = ''
    if request.method == 'POST':
        f = request.POST['fname']
        l = request.POST['lname']
        c = request.POST['contact']
        e = request.POST['emailid']
        p = request.POST['pswrd']
        b = request.POST['branch']
        r = request.POST['role']
        try:
            user = User.objects.create_user(username=e, password=p, first_name=f, last_name=l)
            Signup.objects.create(user=user, contact=c, branch=b, role=r)
            error = 'no'
        except:
            error = 'yes'
    d= {'error':error}
    return render(request,'signup.html',d)
def Logout(request):
    logout(request)
    return redirect('index')

def profile(request):
    if not request.user.is_authenticated:
        return redirect('login')
    user = User.objects.get(id=request.user.id)
    data = Signup.objects.get(user = user)
    d = {'data':data,'user':user}
    return render(request,'profile.html',d)

def edit_profile(request):
    if not request.user.is_authenticated:
        return redirect('login')
    user = User.objects.get(id=request.user.id)
    data = Signup.objects.get(user = user)
    error = False
    if request.method == 'POST':
        f = request.POST['firstname']
        l = request.POST['lastname']
        c = request.POST['contact']
        b = request.POST['branch']
        user.first_name = f
        user.last_name = l
        data.contact = c
        data.branch = b
        user.save()
        data.save()
        error = True
    d = {'data':data,'user':user,'error':error}
    return render(request,'edit_profile.html',d)

def upload_notes(request):
    if not request.user.is_authenticated:
        return redirect('login')
    error = ''
    if request.method == 'POST':
        b = request.POST['branch']
        s = request.POST['subject']
        n = request.FILES['notesfile']
        f = request.POST['filetype']
        d = request.POST['description']
        u = User.objects.filter(username=request.user.username).first()
        try:
            Notes.objects.create(user=u, uploadingdate=date.today(), branch=b, subject=s, notesfile=n, f
iletype=f, description=d, status='pending')
            error = 'no'
        except:
            error = 'yes'
    d= {'error':error}
    return render(request,'upload_notes.html',d)

def view_mynotes(request):
    if not request.user.is_authenticated:
        return redirect('login')
    user = User.objects.get(id=request.user.id)
    notes = Notes.objects.filter(user=user)    
    d = {'notes':notes}
    return render(request,'view_mynotes.html',d)

def delete_mynotes(request,pid):
    if not request.user.is_authenticated:
        return redirect('login')
    notes = Notes.objects.get(id=pid)
    notes.delete()
    return redirect('view_mynotes')

def changepassword(request):
    if not request.user.is_authenticated:
        return redirect('login')
    error = ''
    if request.method == 'POST':
        o = request.POST['old']
        n = request.POST['new']
        c = request.POST['confirm']
        if c==n:
            u = User.objects.get(username__exact=request.user.username)
            u.set_password(n)
            u.save()
            error = 'no'
        else:
            error='yes'
    d = {'error':error}
    return render(request,'changepassword.html',d)

def view_users(request):
    if not request.user.is_authenticated:
        return redirect('login_admin')
    users = Signup.objects.all()
    d = {'users':users}
    return render(request,'view_users.html',d)
def delete_users(request,pid):
    if not request.user.is_authenticated:
        return redirect('login_admin')
    user =User.objects.get(id=pid)
    user.delete()
    return redirect('view_users')

def pending_notes(request):
    if not request.user.is_authenticated:
        return redirect('login_admin')
    notes = Notes.objects.filter(status='pending')    
    d = {'notes':notes}
    return render(request,'pending_notes.html',d)

def accepted_notes(request):
    if not request.user.is_authenticated:
        return redirect('login_admin')
    notes = Notes.objects.filter(status='Accept')    
    d = {'notes':notes}
    return render(request,'accepted_notes.html',d)

def rejected_notes(request):
    if not request.user.is_authenticated:
        return redirect('login_admin')
    notes = Notes.objects.filter(status='Reject')    
    d = {'notes':notes}
    return render(request,'rejected_notes.html',d)

def all_notes(request):
    if not request.user.is_authenticated:
        return redirect('login_admin')
    notes = Notes.objects.all()    
    d = {'notes':notes}
    return render(request,'all_notes.html',d)

def delete_notes(request,pid):
    if not request.user.is_authenticated:
        return redirect('login')
    notes = Notes.objects.get(id=pid)
    notes.delete()
    return redirect('all_notes')

def assign_status(request,pid):
    if not request.user.is_authenticated:
        return redirect('login_admin')
    notes = Notes.objects.get(id=pid)
    error = ''
    if request.method == 'POST':
        s = request.POST['status']
        try:
            notes.status = s
            notes.save()
            error = 'no'
        except:
            error = 'yes'
    d = {'notes':notes, 'error':error}
    return render(request,'assign_status.html',d)

def viewallnotes(request):
    if not request.user.is_authenticated:
        return redirect('login')
    notes = Notes.objects.filter(status='Accept')    
    d = {'notes':notes}
    return render(request,'viewallnotes.html',d)

def admin_home(request):
    if not request.user.is_staff:
        return redirect('login_admin')
    pn = Notes.objects.filter(status='pending').count()
    an = Notes.objects.filter(status='Accept').count()
    rn = Notes.objects.filter(status='Reject').count()
    alln = Notes.objects.all().count()
    d = {'pn':pn,'an':an,'rn':rn,'alln':alln}
    return render(request,'admin_home.html',d)
PROJECT DEVELOPMENT STAGES

3.1 FEASIBILITYSTUDY:

FeasibilitystudymeanstheanalysisofproblemtodetermineifItcanbesolvedeffectively.Inother words
it is the study of the possibilities of the proposed system it studies the work ability, impact on the
organization ability to meet user’s need and efficient use ofresources.

Three aspects in which the system has to be feasible are:-

ECONOMIC FEASIBILITY:

The economical analysis checks for the high investment incurred on the system. It evaluates
development & implementing charges for the proposed “Parking Project”. The S/W used for the
development is easily available at minimal cost & the database applied is freely available hence it
results in low cost implementation.

TECHNICAL FEASIBILITY:

This aspect concentrates on the concept of using Computer Meaning, “Mechanization” of human
works.Thustheautomatedsolutionleadstotheneedforatechnicalfeasibilitystudy.Thefocuson
theplatformuseddatabasemanagement&usersforthatS/W.Theproposedsystemdoesn’trequire an in
depth technical knowledge as the system development is simple and easy to understand.The
S/W(VB.NET)usedmakesthesystemuserfriendly(GUI).Theresultobtainshouldbetrueinthe real
timeconditions.

BEHAVIOUR FEASIBILITY:

Behavioral feasibility deals with the runtime performance of the S/W the proposed system must
scorehigherthanthepresentinthebehavioralstudy.TheS/Wshouldhaveenduserinmindwhen the
system is designed while designing s/w the programmer should be aware of the conditions user’s
Knowledge input, output, calculations etc. The s/w contains only a minimum no. of bugs. Care
should be also taken to avoid non-working means &tbuttons.
3.2 SYSTEMDESIGN

Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. Design is the first step in
the development phase for any engineered product or system. The designer’s goal is to produce a
model or representation of an entity that will later be built. Beginning, once system requirement
havebeenspecifiedandanalyzed,systemdesignisthefirstofthethreetechnicalactivities-design, code
and test that is required to build and verifysoftware.

The importance can be stated with a single word “Quality”. Design is the place where quality
is fostered in software development. Design provides us with representations of software that can
assessforquality.Designistheonlywaythatwecanaccuratelytranslateacustomer’sviewintoa finished
software product or system. Software design serves as a foundation for all the software
engineering steps that follow. Without a strong design we risk building an unstable system – one
that will be difficult to test, one whose quality cannot be assessed until the laststage.

During design, progressive refinement of data structure, program structure, and procedural
details are developed reviewed and documented. System design can be viewed from either
technicalorprojectmanagementperspective.Fromthetechnicalpointofview,designiscomprised of
four activities – architectural design, data structure design, interface design and procedural
design.

3.2.1 E-RDIAGRAMS:

 The relation upon the system is structure through a conceptual ER-Diagram, which not only
specifics the existential entities but also the standard relations through which the systemexists
and the cardinalities that are necessary for the system state tocontinue.

 The entity Relationship Diagram (ERD) depicts the relationship between the data objects.The
ERDisthenotationthatisusedtoconductthedatemodelingactivitytheattributesofeachdata object
noted is the ERD can be described resign a data objectdescriptions.

 The set of primary components that are identified by the ERDare


 Dataobject  Relationships

 Attributes  Various types ofindicators.

The primary purpose of the ERD is to represent data objects and their relationships.
3.2.2 DATA FLOWDIAGRAMS

A data flow diagram is graphical tool used to describe and analyze movement of data
through a system. These are the central tool and the basis from which the other components are
developed. The transformation of data from input to output, through processed, may be described
logically and independently of physical components associated with the system. These are known
as the logical data flow diagrams. The physical data flow diagrams show the actual implements
and movement of data between people, departments and workstations. A full description of a
system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon,
Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled
with a descriptive name. Process is further identified with a number that will be used for
identificationpurpose.ThedevelopmentofDFD’Sisdoneinseverallevels.Eachprocessinlower level
diagrams can be broken down into a more detailed DFD in the next level. The lop-level diagram
is often called context diagram. It consists a single process bit, which plays vital role in
studyingthecurrentsystem.Theprocessinthecontextleveldiagramisexplodedintootherprocess at the
first levelDFD.

The idea behind the explosion of a process into more process is that understanding at one
level of detail is exploded into greater detail at the next level. This is done until further explosion
is necessary and an adequate amount of detail is described for analyst to understand the process.

Larry Constantine first developed the DFD as a way of expressing system requirements in
a graphical from, this lead to the modular design.

ADFDisalsoknownasa“bubbleChart”hasthepurposeofclarifyingsystemrequirements and
identifying major transformations that will become programs in system design. So it is the
starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles
joined by data flows in thesystem.
DFD SYMBOLS

In the DFD, there are four symbols

1. A square defines a source(originator) or destination of systemdata

2. An arrow identifies data flow. It is the pipeline through which the informationflows

3. Acircleorabubblerepresentsaprocessthattransformsincomingdataflowintooutgoingdata flows.

4. An open rectangle is a data store, data at rest or a temporary repository ofdata

Process that transforms data flow.

Source or Destination of data

Data flow

Data Store
DATA FLOW

1) A Data Flow has only one direction of flow between symbols. It may flow in both directions
between a process and a data store to show a read before an update. The later is usually
indicated however by two separate arrows since these happen at differenttype.

2) A join in DFD means that exactly the same data comes from any of two or more different
processes data store or sink to a commonlocation.

3) A data flow cannot go directly back to the same process it leads. There must be atleast one
other process that handles the data flow produce some other data flow returns the originaldata
into the beginningprocess.

4) A Data flow to a data store means update (delete orchange).

5) A data Flow from a data store means retrieve or use.

A data flow has a noun phrase label more than one data flow noun phrase can appear on a single
arrow as long as all of the flows on the same arrow move together as one package.

0 Level DFD:
3.3 SYSTEMDEVELOPMENT:

3.3.1 SCREENSHOTS:

Registration

PageManager

Login

Room Management
Room Reservation
Staff Management
CONCLUSION
4. CONCLUSION

In general, today’s businesses must always strive to create the next best thing that consumers will
want because consumers continue to desire their products, services etc. to continuously be better,
faster, and cheaper. In this world of new technology, businesses need to accommodate to thenew
types of consumer needs and trends because it will prove to be vital to their business’ success and
survival. E-commerce is continuously progressing and is becoming more and more important to
businesses as technology continues to advance and is something that should be taken advantage
of and implemented. From the inception of the Internet and e-commerce, the possibilities have
become endless for both businesses and consumers. Creating more opportunities for profit and
advancements for businesses, while creating more options for consumers. However, just like
anything else, e-commerce has its disadvantages including consumer uncertainties, but nothing
that can not be resolved or avoided by good decision-making and business practices. There are
several factors and variables that need to be considered and decided upon when starting an e-
commerce business. Some of these include: types of e-commerce, marketing strategies, and
countless more. If the correct methods and practices are followed, a business will prosper inan
e-commerce setting with much success and profitability.
FUTURE ENHANCEMENT

5. SCOPE FOR FURTHERDEVELOPMENT

The system can be designed for further enhancement .This could also be developed according to
the growing needs of the customer.
BIBLIOGRAPHY

 For MysqlDataBase installation

 http://www.mysql.com/index.html

 For Xamppinstallation

 https://www.apachefriends.org/index.html

 Referencewebsites

 www.w3schools.com

 http://www.tutorialspoint.com/php/index.htm

 https://www.tutorialspoint.com/css/index.htm

 https://www.tutorialspoint.com/javascript/index.htm

 https://www.tutorialspoint.com/html/index.htm

 http://php.net/

 https://www.phptherightway.com/

 Reference Books

 Learning PHP, MySQL & JavaScript by RobinNixon

 Visual QuickPro Guide (4th Edition) by LarryUllman

 A Beginner's Guide to Programming Interactive Web Applications withPHP


by AlanForbes

 Solutions & Examples for PHP Programmers by DavidSklar

 New Features and Good Practices of PHP by Josh LockhartLearn HTML&


CSSfaster

 Java script: The GoodParts

You might also like