Professional Documents
Culture Documents
Major Project Report-Odyssey
Major Project Report-Odyssey
Major Project Report-Odyssey
A PROJECT REPORT
on
Submitted to
KIIT Deemed to be University
BACHELOR’S DEGREE IN
COMPUTER SCIENCE & ENGINEERING
BY
CERTIFICATE
This is certify that the project entitled
“Odyssey- A Travel Blog Website“
submitted by
is a record of bonafide work carried out by them, in the partial fulfillment of the
requirement for the award of Degree of Bachelor of Engineering (Computer Science
& Engineering) at KIIT Deemed to be university, Bhubaneswar. This work is done
during year 2022-2023, under our guidance.
Date: 05/December/2023
ACKNOWLEDGEMENT
ABSTRACT
A tourism website was designed for the state of Odisha. This website will be beneficial
for users to explore the hidden secrets of Odisha. Odisha stepped into 2023 in much
style and is being felicitated at India Today Tourism Summit and Awards and getting
listed by TIME Magazine in World’s Top 50 Tourism Destinations. So we take the
initiative to make a tourism website that has been introduced to give tourists a new
experience of unexplored Odisha like: Konark Temple, Bhitarkanika & Nandankanan
National Park, Deras Dam, Tapang Lake, Barunei Hills. The Odisha Unveiled web
application is aimed at promoting and showcasing the hidden tourism secrets of Odisha.
The web application is designed to provide an interactive platform for the tourists to
explore the various tourist attractions, cultural heritage, and local experiences of
Odisha. The web application is intended to be user-friendly and accessible to a wide
range of users.
Overall, the project surpassed objectives and has the potential to enhance tourism in
Odisha by sharing knowledge on the state's hidden jewels. The project's success was
credited to strict adherence to design standards, coding standards, and best practises.
The project team was devoted, experienced, and collaborative in order to provide a
high-quality web application on time.
Contents
1 Introduction 1
3 Requirement Specifications 13
3.1 Project Planning 13
3.2 Project Analysis 14
3.2.1 Functional Requirements 14
3.2.2 Non-Functional Requirements 14
3.3 System Design 14
3.3.1 Design Constraints 15
3.3.2 System Architecture / Block Diagram 15
4 Implementation 18
4.1 Methodology / Proposal 18
4.2 Testing / Verification Plan 18
4.2.1 Authorization Testing 18
4.2.2 API Fetch Testing 18
4.3 Result Analysis / Screenshots 19
5 Standard Adopted 22
5.1 Design Standards 22
5.2 Coding Standards 22
5.3 Testing Standards 23
References 25
Individual Contribution 26
Plagiarism Report 31
Odyssey- A Travel Blog Website
List of Figures
Chapter 1
Introduction
The goal of our project is to build a comprehensive tourism website for a specific location,
such as a city or country. The website will serve as a valuable resource for tourists who are
planning to visit the area, providing them with information on local attractions,
accommodations, dining options, and travel tips
To achieve this goal, the project team will use a combination of front-end and back-end
development technologies to create a user-friendly and responsive website design that
showcases the unique features and beauty of the location. The back-end architecture will be
designed to handle online bookings and user-generated content, ensuring scalability and
robustness.
The website will be optimized for performance and security, ensuring a smooth and safe user
experience. Additionally, social media integration and SEO best practices will be incorporated
to increase visibility and attract more visitors.
The "Odyssey- A Travel Blog Website" is a web development project aimed at promoting and
showcasing the hidden tourist attractions, cultural heritage, and local experiences of Odisha.
The web application will provide an interactive platform for users to explore and book tours
and experiences. The primary objective of this project is to create a comprehensive online
guide to the state of Odisha, highlighting its unique culture and heritage, and promoting it as a
popular tourist destination.
Odisha Unveiled web application will offer a user-friendly interface that will allow visitors to
easily navigate and explore the various tourist attractions and experiences available in Odisha.
Users can search for specific attractions or experiences, browse through different categories,
and access detailed information about each attraction. More detailed information about each
attraction, including photos, videos, and reviews are provided and a user profile system for
saving favorites and creating itineraries.
Some gaps are also encountered by our team like: The web application shall have a responsive
design that is accessible on desktop and mobile devices. Moreover the web application shall
display the location of each attraction on a map. The booking system shall provide
confirmation of the booking by email and the web application shall have integration with
social media platforms for sharing and promoting tourist attractions.
Overall, the goal of this web development project is to create a comprehensive and valuable
resource for tourists, making it easier for them to plan and enjoy their trip to the location in
question.
Chapter 2
The "Odyssey- A Travel Blog Website" web development project involve the use of a variety
of tools and techniques to achieve its goals. These tools and techniques are essential to the
success of the project and can help to streamline development, improve functionality, and
enhance the user experience. Some of the tools and techniques that may be used in this project
include:
2.1.1.1. HTML[1]: HTML (Hypertext Markup Language) is a markup language used for
creating web pages and web applications. The index.html page is the main webpage that
serves as the entry point for visitors to the website. HTML was used extensively in the
development of this page to create the necessary structure and content elements. The
following are the key HTML components used in the index.html page:
2.1.1.2. CSS [2]: It the foundational technologies of web development and are used to create
the structure, style, and interactivity of the website. CSS was used to add visual styling to the
ReactJS component of the website, creating a visually appealing and consistent design
throughout the website. The following are the key ways in which CSS was used in the project:
A. Selectors [3]: CSS selectors were used to target specific HTML elements to apply styles to
them. For example, the "h1" selector was used to target all heading 1 elements on the website,
while the ".nav" selector was used to target the navigation menu.
B. Box model [4] : The CSS box model was used to define the layout and positioning of
HTML elements on the page. Properties such as "width", "height", "padding", and "margin"
were used to control the size and spacing of elements.
C. Typography [5]: CSS was used to define the typography of the website, such as the font
family, size, weight, and color. Different selectors were used to target specific types of text,
such as headings, paragraphs, and links.
D.Colors and backgrounds: CSS was used to define the color scheme of the website, using
properties such as "background-color" and "color". Different color schemes were used for
different sections of the website, such as the header, main content, and footer.
E. Responsive design: CSS was used to create a responsive design that would adapt to
different screen sizes and devices. Media queries were used to define different styles for
different screen sizes, and the "flexbox" and "grid" layouts were used to create a flexible and
responsive design.
F. Animations and transitions: CSS was used to add animations and transitions to the
website, creating a more engaging and interactive user experience. Properties such as
"animation" and "transition" were used to define the timing and effects of animations.
2.1.1.3. JavaScript [6]: JavaScript played a crucial role in the development of our website. It
was used extensively to add dynamic functionality and interactivity to the website, making it
more engaging and user-friendly. The following are the key ways in which JavaScript was
used in the project:
A. Dynamic content [7]: JavaScript was used to dynamically update and manipulate the
content of the website, allowing for a more dynamic and engaging user experience. For
example, JavaScript was used to implement a slideshow of images and text, where users could
view different images and information by clicking on buttons.
B. APIs [8] : JavaScript was used to interact with APIs (Application Programming Interfaces),
allowing for the retrieval and display of data from external sources. For example, the website
used an API to retrieve weather information for different cities in Odisha and displayed it on
the website.
C. Event handling: JavaScript was used to handle user events, such as button clicks and form
submissions, allowing for interactivity and user engagement.
D. Navigation: JavaScript was used to create navigation menus and links, allowing users to
easily navigate between pages and sections of the website.
2.1.1.4. React JS [9] : React JS is a JavaScript library that is widely used for building user
interfaces. It was used extensively in our project to create dynamic and engaging user
interfaces that were easy to maintain and update. The following are the key ways in which
React JS was used in the project:
B. Virtual DOM [11] : React JS uses a virtual DOM (Document Object Model) that allows
for faster updates and rendering of the UI. The virtual DOM is a lightweight representation of
the actual DOM, and updates are made to it first before being applied to the actual DOM. This
helps to improve performance and reduce page load times.
C. State management [12] : React JS provides a simple and efficient way to manage the state
of the application. The state refers to the data that determines the behavior and appearance of
the UI components. React JS allows for the easy updating and manipulation of the state,
making it easier to create dynamic and interactive UIs.
D. JSX [13] : React JS uses a syntax called JSX (JavaScript XML) that allows for the easy
creation of UI components. JSX combines HTML-like syntax with JavaScript, making it
easier to write and understand the code.
E.Third-party libraries: React JS has a large ecosystem of third-party libraries that can be
used to enhance the functionality and appearance of the UI components. For example, libraries
like Material UI and React Bootstrap were used in the project to create responsive and visually
appealing UI components.
2.1.1.5. BootStrap : Bootstrap is a popular open source front-end framework that simplifies
and speeds up the web development process. Created by Twitter, it is a collection of HTML,
CSS and JavaScript tools designed to facilitate the creation of responsive, mobile-friendly
websites and web applications.
Bootstrap's main goal is to provide developers with a consistent and effective way to create
user interface and visual solutions. Navigation bars, buttons, text, etc. It comes with a
responsive interface along with pre-designed layouts like. This grid allows developers to
create flexible and flexible templates that adapt to different screen sizes, providing seamless
user experience across multiple device equipment.
Bootstrap also includes various JavaScript plugins that extend the functionality of your
website, such as carousels, mockups, tooltips, and more. The data framework is
comprehensive and user-friendly, making it easy for developers to get started and create plans
for their specific needs.
By leveraging Bootstrap, developers can save time and effort during development as they can
leverage the framework's pre-built features and design standards. Additionally, Bootstrap
supports consistent design and gives a professional and beautiful look to your website. Overall,
Bootstrap has become a widely used tool in the web development community and helps create
modern and visually appealing websites.
EJS templates are similar to regular HTML, but with special characters added to indicate
where the JavaScript code should be placed. This makes it an excellent choice for developers
familiar with HTML and JavaScript. EJS is often used in server-side environments (such as
Node.js) to dynamically generate HTML on the server and send it to the user's browser.
In summary, Embedded JavaScript (EJS) is a template engine that allows developers to create
dynamic web pages by seamlessly integrating JavaScript into HTML templates. It provides a
simple and flexible way to manage dynamic content and present data in web applications.
2.1.1.7. JOI : Joi is a powerful and versatile JavaScript library widely used in Node.js
applications. It allows developers to define and manage data boundaries, making it an essential
tool for all types of data in user input, configuration, and use.
B. Profile Verification: Using Joi, developers can verify profiles against defined criteria. This
involves checking the type of data specified in the schema, its length, type, and other
conditions. Validation errors provide detailed information about issues found during the
validation process.
C. Custom rules: Joi supports the creation of custom rules, allowing developers to extend the
functionality of the library to meet specific applications. This change makes it possible to
easily resolve usability issues.
D. Default values and enforcement: Joi provides the ability to set values for attributes that
are missing or not defined in the file. In addition, it improves data consistency by supporting
coercion, allowing developers to manipulate and modify the results in the desired format.
E. Merge and Combination: Joi supports join and combination models, making it easy to
create user-friendly rules by combining simple rules. This helps create modular and reusable
validation logic.
G. Integration with Hapi.js: Joi was originally developed as part of the Hapi.js framework
and is widely used in Hapi.js applications. However, it is a standalone library that can be used
independently in any JavaScript or Node.js project.
H. Errors: Joi provides detailed error messages when it fails, including information about
specific usage rules that were not met. This aids in debugging and provides clear instructions
to developers and users.
Overall, Joi simplifies the process of validating and provisioning data in JavaScript
applications. Its simplicity, overall functionality, and ease of use make it a popular choice for
developers looking for useful information on their projects.
2.1.2.1. Mongo Atlas: MongoDB Atlas, MongoDB, Inc. It is a cloud-based database service
provided by. It provides a fully managed and scalable platform to deploy, manage and scale
MongoDB repositories in the cloud. MongoDB Atlas simplifies the process of configuring and
managing MongoDB databases, allowing developers to focus on building applications rather
than managing core processes.
The main functions and features of MongoDB Atlas include:
A. Cloud-based deployment: MongoDB Atlas allows users to distribute MongoDB data via
cloud such as AWS (Amazon Web Services), Azure (Microsoft Azure) ) and GCP (Google
Cloud Platform). Users can choose the cloud provider, region and size that suits their
applications.
B. Automatic scaling: MongoDB Atlas provides automatic scaling, allowing the database to
scale vertically (by adding resources together) or horizontally (by adding nodes for a group).
This ensures that data can be modified as the business and data grow.
C. Security Features: MongoDB Atlas includes advanced security features such as network
isolation, encryption at rest and in transit, role-based access control (RBAC), and analytics.
These features help protect data and ensure compliance with various business and regulatory
requirements.
D. Backup and recovery: MongoDB Atlas provides backup and point-in-time recovery,
allowing users to easily create and restore backups. This will help prevent data loss and
provide a reliable recovery mechanism in unexpected situations.
F. Database Migration: MongoDB Atlas makes migrating from MongoDB to the cloud easy.
The platform provides tools and services to simplify the migration process, reduce time and
increase flexibility.
G. Global groups: MongoDB Atlas provides the ability to send global data from different
geographical groups. This provides low-latency access to data for global users and improves
overall application performance and availability.
H. Integration with developer tools: MongoDB Atlas integrates with popular developer tools,
including the GUI-based MongoDB Compass repository manager and MongoDB Atlas Data
Explorer, to query and visualize data.
MongoDB Atlas is suitable for a variety of applications, from small projects to large
enterprises, and provides a flexible and reliable foundation for MongoDB-based databases in
clouds. It is designed to solve many operational problems associated with storage management,
providing worry-free solutions for developers and storage administrators.
2.1.2.2. Node JS: Node.js is a widely-used back-end framework for building web applications.
It allows developers to use JavaScript on the server-side, which makes it an efficient and fast
option for web development. In the project "Odisha Unveiled-Discovering hidden tourism
secrets of Odisha," Node.js was used as a back-end framework to build the server-side of the
web application.
A. Media Storage and Organizing: Cloudinary allows users to store and organize their
photos and videos in the cloud. This eliminates the need for native solutions and provides a
convenient and reliable way to manage media assets.
B. Motion Image and Video Conversion: One of Cloudinary's standout features is its ability
to convert and optimize motion images and videos - FLY. Developers can apply resizing,
cropping, compression, and other changes to the base URL to improve the design and
presentation of the content.
2.1.2.4. Hosting : Cyclic.sh provides hosting services that can be used to deploy and serve
web applications. This ensures that the website is easily accessible to users and provides a
reliable hosting environment.
Used cyclic.sh for Deployment: https://odyssey.cyclic.app/
A. Routing: Provides a simple way to handle HTTP requests. Developers can easily define
methods based on HTTP methods (GET, POST, etc.) and URL patterns, making it easier to
create RESTful APIs and define how applications respond to different requests.
C. Template Engine: Although Express itself does not manage a specific template engine, it
supports many template engines such as EJS, Handlebar and Pug. This allows developers to
dynamically generate HTML on the server and send it to the client.
D. Static File Serving: Easily serve static files such as images, style sheets, and scripts using
built-in middleware. This improves the performance of web applications by providing static
resources.
E. HTTP utilities: Express provides utilities to handle HTTP requests and responses; It
simplifies tasks like setting headers, sending replies, and handling redirects.
F. Error Handling: The presentation covers techniques for handling synchronous and
asynchronous errors that help build powerful applications. Intermediate functions can be
specified to handle errors, providing a centralized approach to error handling.
G. Integration with other Node.js modules: Express is built on Node.js and can be
integrated and packaged with various Node.js modules. This allows developers to leverage the
broader Node.js ecosystem when creating websites.
Express.js has become the de facto standard for building web applications and APIs with
Node.js, and its simplicity and versatility make it the best choice for beginners and developers
alike. .
2.1.2.6. Authentication : Passport Library provides authentication services that can be used to
authenticate users and manage user sessions. This ensures that only authorized users can
access sensitive data and perform actions on the website.
Fig 1.1. Def: Passport Library Authentication is a service provided by Google that enables
developers to easily authenticate users in their web development projects. It provides a secure,
easy-to-use authentication system that can be easily integrated into web applications.
2.1.2.7. Mongoose : Mongoose is a modeling tool for the popular NoSQL database MongoDB.
It is designed to simplify the interaction between Node.js applications and MongoDB
databases by providing schema-based data models and solutions. Mongoose allows developers
to define data using JavaScript objects to maintain the same format for data in a MongoDB
collection.
B. Data Validation: Mongoose provides data validation in the database, allowing developers
to check requirements such as required fields, data types, and custom validation logic. This
ensures that the data stored in the MongoDB database conforms to the specified criteria.
C. Middleware support: Mongoose supports middleware that can be executed before or after
certain operations, such as saving or querying a database. This allows developers to implement
custom logic or perform other tasks during this process.
D. Query Creation: Mongoose simplifies the process of creating and executing queries in
MongoDB. It makes it easy to interact with repositories and store or update data by providing
a high-level API for creating queries.
2.1.3.1. Figma [14] : Figma is a popular design tool used by web developers to create user
interfaces, graphics, and prototypes. In our project Figma was used to design the overall look
and feel of the website. The tool provides features for creating and editing vector graphics,
creating and sharing design components and libraries, and collaborating with other team
members.
The designers used Figma to create wireframes and mockups of the website's pages, including
the home page, individual destination pages, and contact page. The tool was also used to
create icons, logos, and other graphics used throughout the website. Figma allowed the team to
create a consistent design language across the website, making it easy for users to navigate
and interact with the content.
2.1.3.2. Adobe Photoshop [15]: Adobe Photoshop is a popular image editing software widely
used in web development projects to create and edit images for websites. In our project,
Adobe Photoshop was used to design and edit images for the website. The software was used
to create visually appealing and high-quality images that are optimized for web use.
One of the main advantages of using Adobe Photoshop in web development projects is its
versatility. The software allows developers to create a wide variety of images ranging from
simple icons and logos to complex graphics and animations. Additionally, Photoshop offers a
range of editing tools that enable developers to refine images to their desired specifications.
2.1.4.1. Iterative Waterfall Model [16] : It is a modified version of the traditional waterfall
model, which is an important software development model. In the Iterative Waterfall Model
approach, the development process is divided into a sequence of distinct phases such as
planning, design, implementation, testing, and deployment. The process is iterative, and each
phase may be repeated until the desired result is achieved. The Iterative Waterfall Model
combines the flexibility and adaptability of an iterative approach with the structure and control
of the Waterfall Model.
In the context of our web development project the Iterative Waterfall Model can be used to
ensure that each phase of the project is properly executed and reviewed before proceeding to
the next phase. For example, in the planning phase, the project team can define the project
goals and objectives, identify the resources required, and determine the project timeline. In the
design phase, the team can create wireframes and prototypes, conduct user testing and
feedback, and make changes as necessary. In the implementation phase, the team can build
and develop the website, while in the testing phase, the team can test the site's functionality
and performance, and make any necessary adjustments. Finally, in the deployment phase, the
team can launch the website and monitor its performance, making any necessary updates or
changes.
The Agile approach emphasizes the importance of customer satisfaction through continuous
delivery of working software. In this model, development is divided into sprints or iterations,
each lasting one to four weeks. During each sprint, the team develops and delivers a working
increment of the software. The Agile model is designed to respond quickly to changes in
requirements, and it is well-suited for projects with a high degree of uncertainty and rapidly
evolving requirements.
2.2.2. Highlight the cultural and historical significance of the state: Odisha has a rich
cultural and historical heritage, with many temples, monuments, and artifacts that are of great
significance. By highlighting these cultural and historical treasures on the tourism website, we
hope to raise awareness of their importance and promote their preservation.
2.2.3. Encourage sustainable tourism: Another motivation behind the project is to encourage
sustainable tourism in Odisha. By promoting responsible and sustainable tourism practices, we
hope to minimize the negative impact that tourism can have on the environment and local
communities, while still providing visitors with an enjoyable and authentic experience.
2.2.4. Facilitate trip planning: Finally, the "Odyssey" project aims to make trip planning
easier and more convenient for visitors. By providing comprehensive information on local
attractions, accommodations, dining options, and travel tips, visitors will be able to plan their
trip with greater ease and confidence, knowing that they have all the information they need at
their fingertips.
to make a significant impact in promoting Odisha as a tourism destination and look forward to
working with you to bring it to life.
2.3.3. Create a user-friendly and responsive website design: The website design will be
optimized for user-friendliness and responsiveness, ensuring that visitors can easily navigate
the site and access the information they need, regardless of the device they are using.
2.3.4. Integrate an online booking system for hotels and activities: The website will feature
an online booking system for hotels and activities, making it easier for visitors to plan and
book their trip with greater convenience and confidence.
2.3.5. Promote responsible and sustainable tourism practices: The project will also aim to
promote responsible and sustainable tourism practices in Odisha. By providing information on
eco-friendly accommodations, responsible travel options, and local initiatives aimed at
promoting sustainable tourism, we hope to encourage visitors to adopt more responsible and
sustainable tourism practices.
2.3.6. Increase awareness of the cultural and historical significance of the state: Finally,
the project will aim to increase awareness of the cultural and historical significance of the state.
By highlighting the importance of local monuments, temples, and artifacts, we hope to raise
awareness of their significance and promote their preservation.
Overall, the objectives of the "Odisha Unveiled" project are to showcase the hidden tourism
gems of Odisha, provide comprehensive information on local attractions and accommodations,
create a user-friendly and responsive website design, integrate an online booking system for
hotels and activities, promote responsible and sustainable tourism practices, and increase
awareness of the cultural and historical significance of the state. We believe that achieving
these objectives will help to make Odisha a more attractive and sustainable tourism destination,
and we look forward to working with you to make this project a success.
Chapter 3
Requirement Specifications
Odisha is a state in India with a rich cultural and historical heritage, diverse natural landscapes,
and untapped tourism potential. Despite this, the state remains largely unexplored by tourists,
and many of its hidden gems remain undiscovered. The lack of awareness about the state's
tourism potential and the absence of a comprehensive platform to showcase and promote its
attractions pose a significant challenge to the state's tourism industry. Our project aims to
address this challenge by creating a user-friendly web platform that will enable tourists to
discover and explore the hidden tourism secrets of Odisha and promote sustainable tourism in
the state. Problems like language barrier and unreliable sources were also listed.
Fig 1.2. Def: A Gantt chart is a project management tool that is commonly used in web
development projects to plan, schedule, and track the progress of various tasks and activities.
3.1.1. Objectives: The main objective of the project is to develop a web-based application that
promotes tourism in Odisha by showcasing the hidden and less-explored destinations to the
tourists.
3.1.2. Scope: The application will allow the users to explore the hidden and less-explored
tourist destinations in Odisha. The users can browse through the different destinations, view
the details of each destination, and plan their trip accordingly. The application will also
provide information about the availability of accommodation, transportation, and other
facilities at each destination.
3.1.3. Assumptions: The application will assume that the user has a basic understanding of
how to use a web-based application. It is also assumed that the user has a good internet
connection.
3.1.4. Constraints: The application must be developed within the given time frame and
budget. The application should also be compatible with different web browsers and should be
responsive to different screen sizes.
3.1.5. Deliverables: The deliverables of this project will be a fully functional web-based
application, along with the source code and documentation.
B. Home page: The home page features a brief introduction to Odisha and showcase some of
the popular tourist attractions in Odisha. This application allows users to browse through the
different tourist destinations in Odisha.
D. Places to visit: This section provides tourists with information about various tourist
attractions in Odisha, such as historical monuments, natural beauty spots, and cultural heritage
sites.The application displays the details of each destination, including information about the
location, accommodation, transportation, and other facilities.
E. Things to do: This section provides tourists with information about various activities to do
in Odisha, such as water sports, adventure sports, and cultural events and allow users to search
for tourist destinations based on various criteria, such as location, popularity, and availability
of facilities.
F. Local culture: This section provides tourists with information about the local culture of
Odisha, such as festivals, cuisine, and art forms.
G. Gallery: This section features photos and videos of various tourist attractions and cultural
events in Odisha.
H. Contact us: This section provides a contact form for tourists to get in touch with the
project team for any queries or suggestions.
I. Booking: This application allows users to book accommodation and transportation services
directly through the application.
I. Feedback: This application provides a feedback mechanism for users to rate and review the
destinations they have visited.
Fig 1.3. Def: A Level-0 Data Flow Diagram (DFD) is a high-level view of a system that shows
the system's major processes and the flows of data between them. In a web development
project, a Level-0 DFD can be used to represent the overall structure of the website prototype.
Fig 1.4. Def: A flowchart is a diagram that represents the steps or actions involved in a process.
In a web development project, a flowchart can be used to represent the authentication system,
which is responsible for verifying the identity of users and granting access to protected
resources.
Fig 1.5. Def: A flowchart is a diagram that represents the steps or actions involved in a process.
In a web development project, a flowchart can be used to represent the login and logout
process, which is a critical component of the user authentication system.
Fig 1.6. Def: React Router is a popular library for routing in React applications. It allows
developers to easily define routes and navigation between different components in a web
development project.
Fig 1.7. Def: A functional diagram is a graphical representation of a system that shows the
relationships between its components and how they interact with each other. In a web
development project, a functional diagram can be used to showcase the APIs (Application
Programming Interfaces) that the system exposes to other applications or services.
Chapter 4
Implementation
In this section, represent the implementation done by us during the project development.
4.1. Methodology
The implementation methodology for the "Odisha Unveiled-Discovering hidden tourism
secrets of Odisha" web development project will follow the Agile methodology, which is an
iterative approach to software development. The Agile methodology will help us to deliver a
high-quality product that meets the client's expectations and needs.
The project will be divided into three phases: Planning and Design, Development, and
Deployment. Each phase will have a specific set of activities and deliverables. The project
team will work closely with the client to ensure that the project meets their requirements and
expectations.
B. Password security testing: Password security testing is performed to ensure that the
system enforces strong password policies and securely stores passwords. The testing involves
attempting to crack passwords and checking for any password-related vulnerabilities.
B. API response testing: API response testing is performed to ensure that the system is able
to properly parse and handle responses from external APIs. The testing involves verifying that
the system is able to handle unexpected response formats and error conditions.
C. API performance testing: API performance testing is performed to ensure that the system
is able to fetch data from external APIs in a timely and efficient manner. The testing involves
measuring response times and identifying any performance bottlenecks.
4.3.2. User feedback analysis: The project team collects user feedback using surveys and user
testing sessions to identify areas where the web application can be improved for user
experience.
Chapter 5
Standards Adopted
5.1.2. Establish a project team: The project should establish a team of qualified and
experienced developers who are responsible for implementing the project.
5.1.3. Document project processes: The project should document processes and procedures
for all aspects of the project, including design, development, testing, and deployment.
5.1.4. Document project processes: The project should document processes and procedures
for all aspects of the project, including design, development, testing, and deployment.
By applying the ISO 9001 standard to a web development project, the project team can ensure
that the website or application meets the quality requirements of the customer and is
delivered on time
Chapter 6
6.1. Conclusion
The "Odyssey- A Travel Blog Website" web development project was a success. The web
application provides a user-friendly interface that allows users to explore the hidden tourism
gems of Odisha. The application is visually appealing and provides a seamless user experience.
The web application has been tested for security vulnerabilities and usability issues to ensure
that it is reliable and safe for users.
Overall, the project met the expectations and has the potential to boost tourism in Odisha by
providing information about the hidden gems that the state has to offer. The success of the
project was attributed to the rigorous adherence to the design standards, coding standards, and
best practices. The project team was dedicated, skilled, and worked collaboratively to deliver a
high-quality web application within the deadline.
In conclusion, the web development project has been a great achievement and an example of a
successful web development project. It has provided an opportunity to showcase the skills and
expertise of the development team and deliver a high-quality web application to the clients
and stakeholders. The project has taught us the importance of following standards, testing,
collaboration, and effective communication, and has enhanced our technical and project
management skills.
Moreover virtual tours can be added to the web application to provide users with a more
immersive experience of the tourism destinations in Odisha. This can be achieved by
integrating 360-degree videos and photos of the destinations.
The web application can be enhanced by adding multi-language support. This will enable
users to access information in their preferred language, making the application more
accessible to a wider range of users. The web application can be enhanced by adding a
personalized recommendation feature. This feature will provide users with customized
recommendations based on their search history and preferences
References
[1] https://www.w3schools.com/html/
[2] https://www.w3schools.com/w3css/defaulT.asp
[3] https://www.w3schools.com/css/css_selectors.asp
[4] https://www.w3schools.com/css/css_boxmodel.asp
[5] https://cssreference.io/typography/
[6] https://www.w3schools.com/js/
[7] https://www.geeksforgeeks.org/dhtml-javascript/
[8] https://www.mulesoft.com/resources/api/what-is-an-api
[9] https://www.w3schools.com/REACT/DEFAULT.ASP
[10] https://www.w3schools.com/REACT/DEFAULT.ASP
[11]https://en.wikipedia.org/wiki/Virtual_DOM#:~:text=A%20virtual%20DOM%20is%20a,actual
%20DOM%20(via%20JavaScript).
[12] https://www.freecodecamp.org/news/how-to-manage-state-in-
react/#:~:text=React%20state%20management%20is%20a,half%20of%20a%20React%20app.
[13] https://legacy.reactjs.org/docs/introducing-jsx.html
[14] https://designproject.io/blog/figma-
prototype#:~:text=Figma%20is%20a%20powerful%20web,learning%20how%20to%20use%20Fi
gma.
[15]https://www.techtarget.com/whatis/definition/Photoshop#:~:text=Photoshop%20is%20an%20i
mage%20creation,was%20first%20released%20in%201988.
[16] https://www.geeksforgeeks.org/software-engineering-iterative-waterfall-model/
[17] https://owasp.org/www-project-web-security-testing-guide/latest/4-
Web_Application_Security_Testing/04-Authentication_Testing/README
[18] https://icl.utk.edu/papi/
[19] https://www.iso.org/iso-9001-quality-
management.html#:~:text=ISO%209001%20sets%20out%20the,of%20its%20field%20of%20acti
vity.
[20] https://www.ieee.org/about/ieee-india/ieee-standards-
india.html#:~:text=The%20IEEE%20Standards%20Association%20(IEEE,together%20a%20broa
d%20stakeholder%20community.
Abhishek Kumar
2005282
Abstract: This web development project aimed at promoting and showcasing the hidden
tourist attractions, cultural heritage, and local experiences of Odisha. The web application will
provide an interactive platform for users to explore and book tours and experiences. The
project will include features such as a user-friendly interface, detailed information about each
attraction, a booking system, social media integration, a user profile system, a content
management system, and an administrative dashboard.
I meticulously structured the layout to ensure optimal presentation on various devices, offering
a seamless and engaging experience for users irrespective of the device they are using. By
incorporating Bootstrap components such as navigation bars, modals, and cards, I contributed
to a consistent and intuitive user interface that facilitates easy navigation and interaction.
I also worked on hosting the website on GitHub. I pushed the code on GitHub so that all the
team members can collectively collaborate and commit changes hassle free. I also worked on
debugging issues that arose during the designing process. For instance, I successfully resolved
a problem where the Navigation bar scroll down with banner so I made it relative and fixed its
location.
Apart from all the designing and coding stuff I contributed in creating this project report
which includes introduction, front-end and back-end tools, problem statement, implementation,
requirement specification, standard adopted,conclusion, future scope and many other sub-
sections.
Overall, I am proud to have contributed to this project and to have played a role in creating a
platform where users can search for specific attractions or experiences, browse through
different categories, and access detailed information about each attraction. My contributions to
the front-end development and designing process with bootstrap will help ensure that the
website runs smoothly and that users have a positive experience.
Aniket Verma
2005289
Abstract: This web development project aimed at promoting and showcasing the hidden
tourist attractions, cultural heritage, and local experiences of Odisha. The web application will
provide an interactive platform for users to explore and book tours and experiences. The
project will include features such as a user-friendly interface, detailed information about each
attraction, a booking system, social media integration, a user profile system, a content
management system, and an administrative dashboard.
Individual contribution and findings: I took the initiative to set up both local and MongoDB
Atlas database servers during the initial stages. The local server facilitated testing and
debugging in a controlled environment, ensuring the functionality met our requirements before
deploying to a live server. Transitioning to MongoDB Atlas, our chosen cloud-based solution,
aimed to enhance the website's performance and reliability in the production environment.
Collaboration was integral to our project, and I actively assisted my team in integrating both
the MongoDB and Cloudinary databases with the backend components. This involved
effective communication and troubleshooting to address any integration issues. I provided
guidance on establishing secure connections, optimizing queries, and implementing data
retrieval mechanisms, contributing to the overall robustness of our system.
A significant feature of our website was the ability for users to create posts, rate, and review
tourist places in Odisha. To support this, I ensured the database models accommodated diverse
data associated with each post, including user authentication details. Implementing user
authentication was a critical security measure to safeguard user data and maintain platform
integrity.
Sumit Panwar
2005344
Abstract: This web development project aimed at promoting and showcasing the hidden
tourist attractions, cultural heritage, and local experiences of Odisha. The web application will
provide an interactive platform for users to explore and book tours and experiences. The
project will include features such as a user-friendly interface, detailed information about each
attraction, a booking system, social media integration, a user profile system, a content
management system, and an administrative dashboard.
Individual contribution and findings: In the collaborative effort to develop our tourism
showcase platform for Odisha, my primary focus was on crafting robust backend
functionalities using Node.js. My contributions revolved around designing and implementing
controllers that form the backbone of our web application.
The controllers, meticulously crafted under my guidance, are instrumental in managing user
requests, ensuring smooth data flow, and facilitating seamless communication between the
frontend and the backend. These controllers not only meet immediate project requirements but
also establish a foundation for scalability and flexibility in future updates.
While I did not directly handle the database aspect, my work extended to ensuring that the
controllers seamlessly integrate with MongoDB, our chosen database solution. The
collaboration with team members responsible for the database allowed for a cohesive
approach to data storage and retrieval. This collaboration ensured that the controllers
efficiently interact with the database to handle posts, ratings, and reviews for various tourist
places in Odisha.
The deployment of the website on cyclic.sh was another crucial facet where my expertise
played a pivotal role. Configuring deployment settings and addressing potential challenges
were integral aspects of my contribution. Successfully transitioning the project from the
development environment to a live, user-accessible site required a keen understanding of
deployment processes and optimizing performance for real-world usage.
In essence, my role in the project centered around developing the backend infrastructure, with
a specific emphasis on creating robust controllers. While I didn't directly handle the database,
my collaboration with the team responsible for this aspect ensured a harmonious integration
between the backend and MongoDB. The successful deployment of the website further
underlines my commitment to ensuring the project's accessibility and performance in a
live environment.
Through our collective efforts, we have created a Responsive Tourism Website for users
planning to visit Odisha.
Swastik Chatterjee
2005345
Abstract: This web development project aimed at promoting and showcasing the hidden
tourist attractions, cultural heritage, and local experiences of Odisha. The web application will
provide an interactive platform for users to explore and book tours and experiences. The
project will include features such as a user-friendly interface, detailed information about each
attraction, a booking system, social media integration, a user profile system, a content
management system, and an administrative dashboard.
I utilizes the Express Router for route management. Implements routes for listing all
campgrounds, creating new campgrounds, viewing a specific campground, updating a
campground, and deleting a campground. Includes middleware functions for user
authentication, authorship validation, and campground data validation. Integrates multer for
handling image uploads and cloudinary for image storage. Separates route handling into a
dedicated controller file.
I use the Express Router to manage user-related routes and handles routes for user registration,
login, and logout. Integrates Passport.js for local authentication. Utilizes middleware to store
and retrieve the return to value and Flash messages for displaying login errors. Separates route
handling into a dedicated controller file.
I utilizes the Express Router with merged parameters to associate reviews with specific
campgrounds. Manages routes for creating and deleting reviews. Implements middleware for
user authentication, review validation, and authorship verification. Separates route handling
into a dedicated controller file.
This collaborative effort has resulted in a robust and scalable system, showcasing effective
teamwork and individual contributions. The modular structure and adherence to coding
standards contribute to the project's maintainability and extensibility.
Deven Mishra
20051004
Abstract: This web development project aimed at promoting and showcasing the hidden
tourist attractions, cultural heritage, and local experiences of Odisha. The web application will
provide an interactive platform for users to explore and book tours and experiences. The
project will include features such as a user-friendly interface, detailed information about each
attraction, a booking system, social media integration, a user profile system, a content
management system, and an administrative dashboard.
Individual contribution and findings: My main contribution of the project was in planning
the actual design of the project and deciding how it should look. I helped my temp in
designing various containers. Furthermore, I took an active role in designing the concept with
the help of Figma. The we kept on improving and adding on to the website dynamically with
various iterations.
One of my key contributions was the implementation of responsive design using CSS and
Bootstrap. I ensured that the website is accessible and visually appealing across various
devices, catering to the diverse preferences and habits of our potential users. This involved
crafting a flexible layout that adapts seamlessly to different screen sizes, enhancing the overall
accessibility of the platform.
Furthermore, my expertise in CSS allowed me to fine-tune the visual elements of the website,
creating a harmonious and intuitive design. I focused on details such as typography, color
schemes, and layout structures to enhance readability and navigation. By leveraging CSS
features like animations and transitions, I added subtle yet impactful elements that contribute
to the overall aesthetic appeal of the website.
In collaboration with the team, I actively participated in the iterative design process using
Figma. This involved translating conceptual ideas into tangible visual elements, allowing for
effective communication and feedback within the team. I created wireframes and prototypes
that served as a visual guide for the development team, ensuring a cohesive and consistent
design language across the entire platform.
The over collaboration of our individual expertise and experience, we could make this project
into a success which ticks all of its initial objectives and targets.
11 %
SIMILARITY INDEX
6%
INTERNET SOURCES
1%
PUBLICATIONS
8%
STUDENT PAPERS
PRIMARY SOURCES
1
Submitted to Miami Dade College
Student Paper 1%
2
www.coursehero.com
Internet Source 1%
3
www.knowledgehut.com
Internet Source 1%
4
Submitted to South Gloucestershire and
Stroud College
1%
Student Paper
5
Submitted to Singapore Institute of
Technology
1%
Student Paper
6
Submitted to Cardinal Newman College
Student Paper <1 %
7
www.mygreatlearning.com
Internet Source <1 %
8
digitalcommons.harrisburgu.edu
Internet Source <1 %
9
Submitted to University of Greenwich
<1 %
Student Paper
10
dspace.daffodilvarsity.edu.bd:8080
Internet Source <1 %
11
Submitted to University of Lincoln
Student Paper <1 %
12
ebin.pub
Internet Source <1 %
13
Submitted to Swinburne University of
Technology
<1 %
Student Paper
14
Submitted to University of Reading
Student Paper <1 %
15
portfoliodb.hslu.ch
Internet Source <1 %
16
Submitted to Centria UAS
Student Paper <1 %
17
Submitted to Middlesex University
Student Paper <1 %
18
Submitted to NCC Education
Student Paper <1 %
19
Submitted to Southampton Solent University
Student Paper <1 %
20
Submitted to Asia Pacific University College of
Technology and Innovation (UCTI)
<1 %
Student Paper
21
Submitted to Kennesaw State University
Student Paper <1 %
22
Submitted to University of Plymouth
Student Paper <1 %
23
markets.buffalonews.com
Internet Source <1 %
24
www.cleveroad.com
Internet Source <1 %
25
www.greycampus.com
Internet Source <1 %
26
s3.amazonaws.com
Internet Source <1 %
27
www.ijraset.com
Internet Source <1 %
28
www.theses.fr
Internet Source <1 %
29
Rajesh Kanna Rajendran, Mohana Priya T..
"chapter 20 Exploring Best Practices in Mobile
<1 %
App Design Patterns and Tools", IGI Global,
2023
Publication
www.cs.ru.nl
<1 %
Internet Source
30