Internship Report on Hotel Reservation System
Internship Report on Hotel Reservation System
AN INTERNSHIP REPORT
SUBMITTED TO
Department of Computer Application
Birendra Multiple Campus
SUBMITTED BY
Nabin Raj Chhetri
Tu-Reg-No: 6-2-19-334-2018
January, 2023
MENTOR’S RECOMMENDATION
I hereby recommend that this project prepared under my Mentorship by NABIN RAJ
CHHETRI entitled INTERNSHIP in partial fulfillment of the requirements for the
degree of Bachelor of Computer Application is recommended for the final evaluation.
………………….
SIGNATURE
Mr. Arun Kumar Pariyar
MENTORSHIP
Chief Technology Officer
Astranix Technologies Pvt. Ltd.
Bharatpur, Chitwan
i
Tribhuvan University
Faculty of Humanities and Social Sciences
Birendra Multiple Campus
SUPERVISOR’S RECOMMENDATION
I hereby recommend that this project prepared under my supervision by NABIN RAJ
CHHETRI entitled INTERNSHIP in partial fulfillment of the requirements for the
degree of Bachelor of Computer Application is recommended for the final evaluation.
………………….
SIGNATURE
Mr. Govinda Sharan Gupta
SUPERVISOR
Lecturer
Bachelor of Computer Application (BCA)
Bharatpur, Chitwan
ii
Tribhuvan University
Faculty of Humanities and Social Sciences
Birendra Multiple Campus
LETTER OF APPROVAL
This is to certify that this project prepared by NABIN RAJ CHHETRI entitled
INTERNSHIP in partial fulfillment of the requirements for the degree of Bachelor in
Computer Application has been evaluated. In our opinion it is satisfactory in the
scope and quality as a project for the required degree.
……………………………….. ……………………………………
Mr. Govinda Sharan Gupta Mr. Soba Raj Paudel
Bachelor of Computer Applications Bachelor of Computer Applications
(BCA) (BCA)
Birendra Multiple Campus Birendra Multiple Campus
Bharatpur, Chitwan Bharatpur, Chitwan
………………………………………. …………………………………………
iii
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to my supervisor, Mr. Govinda Sharan
Gupta , for his invaluable guidance and support throughout my work at Astranix
Technologies Pvt. Ltd Company. I would also like to thank my coordinator, Mr. Soba
raj Poudel, for his constant encouragement and assistance. I am grateful to the owner,
Mr. Sushil Subedi, for providing me with the opportunity to work at this esteemed
organization. My mentor, Mr. Arun Kumar Pariyar, has been a great source of
inspiration and I appreciate his wisdom and insights. I would also like to thank my
team leader, Mr. Ananta Raj Mishra, and my mentor, Miss. Nisha Pariyar, for their
guidance and support. I am truly grateful to each and every one of them for their
contributions towards my professional development
iv
ABSTRACT
This internship was designed to provide hands-on experience in the hotel reservation
System, with a focus on the use of reservation systems. Hotel Reservation System is a
web-based application developed according to the requirement of Astranix Pvt. Ltd.
Hotel reservation is made on MERN Stack based on JavaScript. The intern was
responsible for managing reservations, inputting and updating guest information, and
handling customer inquiries. Through this internship, the intern gained a thorough
understanding of the reservation process and developed skills in using the hotel's
specific reservation system. In addition, the intern was able to contribute to the
smooth operation of the hotel by assisting with daily tasks and providing excellent
customer service. Overall, the internship was a valuable learning experience that has
prepared the intern for a career in the hotel industry. The internship report abstract
provides a brief overview of the work and projects completed during the internship
with Astranix Pvt Ltd company. The focus of the internship was on web development
using Node.js, a popular JavaScript runtime environment, to build the backend of the
application. The internship report describes the development of a RESTful API,
which included implementing JSON for authentication and authorization, creating
CRUD functionality, and the usage of soft delete method. Additionally, the report
covers the integration of the backend with React, a JavaScript library for building
user interfaces. Through the course of the internship, the student gained experience in
building and maintaining a secure and scalable web application, as well as an
understanding of the technologies used in modern web development
Keywords: JWT, CRUD, Soft delete, RESTful API, MERN, Web development,
Backend development
v
TABLE OF CONTENTS
Chapter-1: Introduction..............................................................................................1
1.1 Introduction..........................................................................................................1
1.3 Objectives.............................................................................................................2
5.1 Conclusion..........................................................................................................27
References...................................................................................................................28
vi
LIST OF FIGURES
vii
LIST OF TABLES
Table 2.1. 1 Organizational Details................................................................................5
viii
LIST OF ABBREVIATIONS
API Application Programming Interface
CMS Content management system
DB Database
IT Information Technology
IOS iPhone Operating System
JSON JavaScript Object Notation
JWT JSON Web Token
Ltd Limited
MERN Mongo Express ReactJS NodeJS
ODM Object Data Modeling
Pvt Private
REST Representational state transfer
UI User Interface
WP WordPress
ix
Chapter-1: Introduction
1.1 Introduction
My internship began in January and lasted for two months, during which time I was
able to gain valuable experience in front-end development as, specifically in Node.js.
I also had the opportunity to work on a WordPress project, which allowed me to
develop my front-end skills. Through this internship, I gained a deeper understanding
of web development and the software development life cycle, and was able to apply
this knowledge to real-world projects. During my internship, I am currently working
on Aadhya Infotech Pvt. Ltd . project of 'Hotel Reservation System' project using the
MERN stack. The MERN stack is a powerful set of technologies for building modern
web applications, and it consists of MongoDB, Express.js, React.js, and Node.js.
I am grateful for the opportunity to have completed this internship at Aadhya Infotech
Pvt. Ltd . Company, as it has provided me with hands-on experience in the field and
has given me a better understanding of the industry. This report will provide a
detailed account of my experience and the projects I worked on during my internship,
as well as my overall impressions of the company and its culture.
1
1.2 Problem Statement
The problem that this internship report aims to address is the inefficient and outdated
process for managing hotel reservations. Lack of trust among customers on the
authenticity of online reservations. Difficulty in integrating the online reservation
system with other hotel management systems, such as accounting and inventory
management. The current system relies on manual booking and payment processes,
which are time-consuming and prone to errors. The goal of this internship report is to
propose and evaluate a new hotel reservation system that will streamline the booking
and payment process:
1.3 Objectives
The objective of this internship project report is to propose and implement a new
hotel reservation system. Hotel that streamlines the booking and payment process,
improves customer satisfaction, and increases revenue for the hotel. The goal of an
online hotel reservation system is to streamline the booking process for both
customers and hotels, and increase revenue for the hotel by making it easier for
customer to book romms the main objective. Specifically, the objective is to increase
the user interaction and we should focus only on increasing our platform for
customer.
2
1.4 Scope and Limitation
The main focus of internship to improve engage with the entire team to work on a
project and improve your skills. Work will be conducted on developing new modules
on the existing system to refactor the codebase and make it maintainable and testable.
All the mentors in the organization will helps to improve the skill of interned during
the internship program. They create a roadmap which we should follow and helps to
work on a real-time project from basic to advanced.
Time constraints: The internship report may be limited by the duration of the
internship, which may not allow for a comprehensive or in-depth analysis of
the topic.
Resource constraints: The report may be limited by the availability of data,
information, or other resources needed to conduct the research or analysis.
Scope of the research question: The report may be limited to a specific
research question or objective, which may not allow for a broader analysis of
the topic.
Scope of the data: The report may be limited to a specific set of data or
information, which may not be representative of the entire population or
subject being studied.
3
1.5 Report Organization
The organization of an internship report will depend on the specific requirements and
guidelines of the internship program, as well as the nature of the research or analysis
being conducted. Here is a general outline of the typical sections that may be included
in an internship report:
Chapter 1: Introduction
The first one chapter describe the Overall introduction of the project. Beside that it
also describes the problems, objectives as well as scope and limitation of the project.
This chapter describe the details of the organization and its hierarchy. It includes
working domains of the organization and talks about the intern department or unit.
The intern's roles and responsibilities were clearly defined, including tasks and
projects assigned. A weekly log was kept of technical details, including software and
tools used, tasks completed, and challenges encountered. The intern was involved in
multiple projects, with an overview, objectives, and specific contributions outlined.
4
Chapter 2: Introduction to Organization
2.1 Organizational Details
Website: https://astranix.com/
support@astranix.com
+977- 9802034510
5
2.2 Organization Hierarchy
In Our organization, the CEO is the top leader and has overall responsibility for the
direction and success of the company. Below the CEO is the CTO who is responsible
for developing and maintaining the full stack of the company's web application,
including the front-end, back-end, and database. The front-end developer is focused
on the design and functionality of the user interface, while the UI/UX developer is
responsible for optimizing the user experience and usability of the application.
Finally, the intern is a junior member of the team who is gaining practical experience
and learning from the other developers. This hierarchy ensures that the company has a
clear chain of command and division of responsibilities, allowing each team member
to focus on their area of expertise and contribute to the overall success of the
organization.
Board of Directors
CEO
CTO
6
2.3 Working Domains of Organization
7
2.3 Description of the Intern Department
The intern department at Astranix Technology is a dynamic and fast-paced team that
plays a crucial role in supporting the organization's operations and goals. The
department is responsible for providing valuable learning opportunities and hands-on
experience to students and recent graduates who are interested in pursuing careers in
the technology industry.
The intern department has a supportive and inclusive culture, with a strong emphasis
on professional development and personal growth. Interns are given the opportunity
to work with experienced professionals and to learn from them, and they are
encouraged to take on challenges and responsibilities that help them to grow and
develop their skills.
8
Chapter 3: Background Study and Literature Review
3.1 Background Study
9
3.2 Literature Review
After reviewing of existing system, we come to the conclusion that: This hotel
reservation system allows users to book rooms at multiple hotels, each of which has a
unique hotel_id. Within each hotel, there are multiple rooms available for booking,
and the system allows users to browse and select the room that best meets their needs
and preferences. For security, our hotel reservation system also implement the role
based system (i.e. Admin, moderator and user). Admin is the owner of Website;
Moderator are hotel owners. All moderator assigns a Unique key(mod_id) that is
stored in every hotel.
In conclusion, Hotel reservation system project in internship provide the flexible and
secure system for improving the tourism in overseas.
10
Chapter 4: Internship Activities
4.1 Roles and Responsibilities
In general, interns are given the opportunity to gain practical experience in their field
of study or career by working on a variety of projects and tasks under the supervision
of experienced professionals. Some common responsibilities of interns might include:
11
4.2 Weekly Log
A weekly log for an internship in Astranix is a document that records the My Daily
activities, tasks, and accomplishments of the intern on a week-by-week basis. It can
be used as a record-keeping tool for the intern, as well as a way to communicate their
progress to the supervisor or mentor.
A typical weekly log for an internship might include the following information:
Date and week number: This helps to keep track of the timeline of the
internship.
Tasks and responsibilities: This might include a list of the specific tasks that
the intern worked on during the week, as well as any new responsibilities or
projects that were assigned.
Accomplishments: This might include any notable achievements or successes
that the intern had during the week, such as completing a project or gaining
new skills.
Challenges and difficulties: This might include any obstacles or challenges
that the intern encountered during the week, and how they were overcome or
addressed.
Goals for the next week: This might include a list of specific tasks or
objectives that the intern plans to work on in the following week.
Performance Appraisal by Mentor: A performance appraisal by a mentor is
a process in which the mentor provides feedback and evaluation on the
intern's performance during the internship
Observations: Observations are records of what a person has seen, heard, or
noticed during a particular event or activity. In the context of an internship,
observations might include notes on the intern's performance, interactions
with coworkers or customers, and overall experience during the internship.
12
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 1 Joining Date: 2022/09/14
Responsibilities:
Research About Node.js and mongoose Database.
Learned Node.js Framework
Activities:
DATE Activities Remarks
09/14 Install Nodejs and know about swagger
09/15 Integrate Swagger in Node.js
09/16 Create GET and POST in API using swagger
09/18 Update and delete creating Routes in node.js
09/19 Implement swagger in node server.
localhost:8080/api-docs
Observations:
Node.js is a run time environment that works on chrome v8 engine
Easier to create the REST API
Next Step:
Implement Authentication and authorization
Mentors Approval
13
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix Technologies Pvt. Ltd
Week No: 2 Date: 2022/09/20
Responsibilities:
Research About JWT (JSON Web Token)
Implement Secure JWT token in project
Developing new project (Hotel reservation system) Back End
Activities:
Observations:
Mongoose is a Node.js -based Object Data Modeling (ODM) library for
MongoDB.
By using mongoose, it is easier to develop rest API.
Next Step:
Should learned about WordPress
Mentors Approval
14
Weekly Activity Log Sheet
Responsibilities:
Activities:
Observations:
Mentors Approval
15
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 4 Date: 2022/10/5
Responsibilities:
Learn about JWT Refresh Token.
To implement refresh token and send to front end.
Top implement Role Based Authentication using token.
Activities:
Create a refresh token after creating access token.
Send Access Token with Access Token in Header.
Create Model for ROLES. Admin, Moderator and user
Create admin routes with JWT Token authentication.
Observations:
Role based System is most secure Authenticate.
Many large companies use Role Based for differentiate the routes.
Next Step:
To create Database and Models.
Mentors Approval
16
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 5 Date: 2022/10/12
Responsibilities:
To create models for hotels(schema).
To create relationship in hotels with moderator.
To implement One-to-many relationship.
Activities:
Create routes for hotels (only moderator can access the hotel routes).
Create hotel model with moderator id. When hotels are created then mod_id
id stored with params.
Search total hotels with mod_id.
Observations:
I am using mongoose. So, making relationship with other schema is not
possible so I store mod_id along with hotels model.
Next Step:
To create relationship between schemas and models
Mentors Approval
17
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 6 Date: 2022/10/19
Responsibilities:
Create Rooms models with One-to-many relationship.
Image Multer (NodeJS package for storing image).
Upload Image and Work on CRUD.
Activities:
Observations:
Multer is NodeJS Package for uploading images in folder, image name
stored in database.
Next Step:
To add new feature and test the login system.
Mentors Approval
18
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 7 Date: 2022/10/27
Responsibilities:
Learn About Debugging and test code.
Adding new feature (review, starts)
Activities:
Observations:
Review system can help to improve quality assurance, Communications. So,
adding review is most important in a system.
Next Step:
To learn front end for fetching data.
Mentors Approval
19
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 8 Date: 2022/11/03
Responsibilities:
To learn about Front end
Learn about Tailwindcss for creating dynamic website.
Activities:
Observations:
Tailwindcss is best for creating dynamic website.
We can design any type of website using tailwindcss.
Next Step:
To Create API for all rooms and hotels
Mentors Approval
20
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 9 Date: 2022/11/10
Responsibilities:
Create API for all hotels, rooms and review.
Activities:
An API For all hotels including. (Getbyid, getAllHotels, getbynames)
Rooms API including (search rooms by hotel_id)
Admin can get all access through sites
Admin can create/delete moderator profile.
Observations:
API is Application Programming Interface. APIs are used to allow different
software systems to communicate with each other
Next Step:
To integrate Online payment System
To learned basic ReactJs
Mentors Approval
21
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 10 Date: 2022/11/17
Responsibilities:
Install Reacts in separate folder
To Create basic routes for home, about and contact
To create Login and signup pages
Activities:
Observations:
Backend is ready so for checking backend I have used post man. But real
particle is to actual fetch to the web page so I decided to learn basic of react
for a week.
Next Step:
Should learned to integrate online payment system
Mentors Approval
22
Weekly Activity Log Sheet
Name: Nabin Raj Chhetri
Project: Hotel Reservation System
Company: Astranix technologies Pvt. Ltd
Week No: 11 Date: 2022/11/24
Responsibilities:
Integrate Online payment system in a project.
Login with Google OAuth.
Password reset using Gmail.
Activities:
Observations:
OAuth is the secure login system provided by google.
Many websites use OAuth for secure and fast login.
Next Step:
Should learned to Host backend
Mentors Approval
Responsibilities:
Learned About Domain and Hosting services
Hosted Hotel Reservation System backend in web browser.
Learned About Online Mongo dB data server.
Activities:
Login to mongo DB and create cluster for database.
Hosted Backend using GitHub workflows.
Create new routes for cascading and soft deleting.
Successfully Fetch Hotels using API in Postman.
Observations:
By hosting backend anyone can use API.
Next project is to Learn about reacts and fetch using react
Next Step:
To Get Result form testing team
Mentors Approval
24
4.3 Description of the Projects Involved During Interns
Here are some key features that an online hotel reservation system may include:
As an intern, you may be responsible for assisting with the development and testing
of the online hotel reservation system, as well as providing support to customers who
are using the system. You may also have the opportunity to work on other aspects of
the hotel's operations, such as marketing and customer service.
25
Requirements gathering: The first step in the project would likely involve
gathering and documenting the requirements for the system, including the
business needs and user requirements.
System design: Once the requirements have been gathered, the next step
would be to design the system, including the user interface, database structure,
and system architecture.
Development: The development phase involves writing the code for the
system and integrating it with any necessary third-party tools or services.
Testing: Once the system has been developed, it will need to be thoroughly
tested to ensure that it is functioning correctly and meets the requirements.
Deployment: After the system has been tested and any necessary bugs have
been fixed, it can be deployed to a production environment where it can be
used by real users.
Version Control System: GitHub is a code hosting platform for version
control and collaboration. It lets you and others work together on projects
from anywhere.
Hosting: hosting refers to the act of providing storage and access for a
website or application on a server.
An internship can also provide you with the opportunity to learn how to solve
problems and think critically, as you will likely be faced with challenges and
obstacles that require you to find creative solutions.
26
Chapter 5: Conclusion and Learning Outcome
5.1 Conclusion
Overall, this internship provided a valuable learning experience that has helped the
intern to develop their skills and knowledge in the field of technology. In particular,
the intern gained experience working with node.js and react and learned about
database management using mongoose. Additionally, the intern had the opportunity
to explore WordPress and gained experience using it for blogging and content
management. Through working on various projects, the intern was able to develop
their skills as a software engineer and identified areas where they need to continue
learning and improving.
At last, this internship has given me new insights and motivation to pursue a career in
software development and information technology. Through working on various
projects, the intern was able to develop their skills and knowledge in the field of
technology
27
References
Inc, B. H. (1996). Hotels: Sauraha. (Global Hotel Booking) Retrieved 12 26, 2022,
from Booking: https://www.booking.com/
Nepal, H. F. (2016). Index: Hotel For Nepal. Retrieved 12 27, 2022, from
https://hotelfornepal.com/
Susil Subedi, A. P. (2022, 12 25). our-services. Retrieved from Astranix
Technologies Pvt. Ltd: https://astranix.com/
Webkul. (2010). Features: Top 20 features of hotel reservation system. (digicert)
Retrieved 12 2022, from Webkul Software: https://qloapps.com/
Winkler, J. K. (2007). Hotel: An American History. California: Yale University
Press.
28