Group1 SRS(Vivek)
Group1 SRS(Vivek)
Group1 SRS(Vivek)
A
Project Report
Submitted in partial fulfilment of the requirement for the award of degree of
Bachelor of Technology
in
Information Technology
Submitted to
RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA,
BHOPAL (M.P.)
Guided by Submitted By
Mrs. Namrata Vijayvargiya Rashi Vishwakarma(0832IT211050)
Assistant Professor Roshan Solanki(0832IT211053)
Vivek Sharma(0832IT211067)
Yash Surma(0832IT211068)
A Minor Project
Bachelor of Technology
in
Information Technology
By
Rashi Vishwakarma(0832IT211050)
Roshan Solanki(0832IT211053)
Vivek Sharma(0832IT211067)
Yash Surma(0832IT211068)
Under the guidance of
Mrs. Namrata Vijayvargiya
Assistant Professor
Session: 2024-25
Department of Information Technology
Chameli Devi Group of Institutions, Indore
We certify that the work contained in this report is original and has been done by us under the
guidance of my supervisor(s).
a. The work has not been submitted to any other Institute for any degree or diploma.
b. We have followed the guidelines provided by the Institute in preparing the report.
c. We have conformed to the norms and guidelines given in the Ethical Code of Conduct
of the Institute.
d. Whenever we have used materials (data, theoretical analysis, figures, and text) from
other sources, we have given due credit to them by citing them in the text of the report
and giving their details in the references.
I
CHAMELI DEVI GROUP OF INSTITUTIONS, INDORE
CERTIFICATE
Certified that the Major project report entitle “TravelEase (The Travel Planner App)”
is a Bonafede work done under my guidance Rashi Vishwakarma, Roshan Solanki, Vivek Sharma,
Yash Surma in partial fulfillment of the requirements for the award of degree of Bachelor of
Technology in Information Technology.
Date: _________________________
__________________________ _________________________
__________________________ _________________________
(Dr. Manish Shrivastava) ( )
(Principal CDGI) (External)
II
CHAMELI DEVI GROUP OF INSTITUTIONS , INDORE
ACKNOWLEDGEMENT
We have immense pleasure in expressing our sincerest and deepest sense of gratitude towards
our guide Prof. Radheshyam Acholiya for the assistance, valuable guidance and co- operation
in carrying out this Project work. We are developing this project with the help of Faculty
members of our institute and we are extremely grateful to all of them. We also take this
opportunity to thank Head of the Department Prof. Radheshyam Acholiya, and Principal of
Chameli Devi Group of Institutions Dr. Manish Shrivastava, for providing the required
facilities for the project work. We are greatly thankful to our parents, friends and faculty
members for their motivation, guidance and help whenever needed.
3. Vivek Sharma……………………………………
4. Yash Surma………………………………………
III
List of Symbols
IV
List of Figures
V
TABLE OF CONTENTS
Abstract VIII
Chapter 1: Introduction 1
1.1 Rationale 1
1.2 Goal 2
1.3 Objective 2
1.4 Methodology 2
1.5 Role 5
1.6 Contribution of Project 5
1.6.1 Market Potential 6
1.6.2 Innovativeness 6
1.6.3 Usefulness 6
1.7 Report Organization 6
Chapter 2: System Features 7
2.1 Functional Requirement Collection 8
2.1.1 Distributed Database or Client Server Model 8
2.2 Non-Functional Requirement 8
2.2.1 Performance Requirement 9
2.2.2 Safety Requirement 9
2.2.3 Security Requirement 9
2.2.4 Software Quality Attributes 9
2.3 External Interface Requirement 10
2.3.1 User Interface 10
VI
2.3.2 Hardware Interface 10
2.3.3 Software Interface 11
2.3.4 Communication Interface 11
Chapter 3: Analysis & Design 12
3.1 Use-case Diagrams 12
3.2 Activity Diagrams 13
3.3 E-R Diagram 14
3.4 Class Diagrams 15
3.5 Sequence Diagrams 16
3.6 Data Flow Diagram 17
3.7 System Architecture 17
Chapter 4: Construction 18
4.1 Implementation 18
4.1.1 Implementation details 18
4.1.2 Development Environment 19
4.2 Testing 19
4.2.1 White Box Testing 19
4.2.2 Black Box Testing 20
4.2.3 Test Cases 20
Chapter 5: Conclusion 21
Chapter 6: Future Scope 22
References 23
Appendix-A
Appendix-B
Appendix-C
VII
Abstract
Today’s world is all about technology different fields of work and organizations are shifting
towards the technology and prefer to have an online and automated systems for them to relay
on. Many Governments organization have gained successful response from the online mode
of governance, many Hospitals and Research centers works on total automated and online
systems and one of the most important EDUCATION fields has also seen technology as a
helpful tool to access the education to all individuals with ease.
In this emerging era of technology AI-Geeta holds a contributive part in the education field
particularly in the technological aspects. AI-Geeta will able to help the learners wanting to
take a dive in development world of websites with religious tourism they will not able to
learn only how to design and develop the webpages but also it will help to improve their
skills.
AI-Geeta is an online web-based editor which helps to write code for a webpage in all three
languages at one time.
The tool has a very vivid market potential and can be contributive asset to our education
field.
VIII
Chapter 1
Introduction
TravelEase helps users plan trips by providing destination info, travel costs, and
itinerary suggestions.
The app serves travelers needing an organized, all-in-one travel planning tool.
This chapter gives an overview about the aim, objectives, background and operation
environment of the system.
1.1 Rationale
TravelEase comes along with a purpose to deliver a proper platform to the users to
livea much better and enthusiastic experience to code and learn in their initial stage
of Mobile Application.
There are various basic obstacle which come along the journey of Mobile Application
so to overcome that obstacle TravelEase is introduced with the feature like editor we
can code and have a result on the same screen and in the editor we can code in all
three language simultaneously.
We have developed our project under the category of “Mobile Application” by which
user around the globe can have easy access to TravelEase with a simple web
browser.
1
1.2 Goal
The ultimate goal of TravelEase is to provide a platform to the user which is
“CONVENIENT-EFFECTIVE-PRODUCTIVE” by which they rely the learning
of React Native.
1.3 Objectives
The main aim and objectives of TravelEase are as follows :
Discover Destinations: Search for your favorite spots and let TravelEase recommend
nearby attractions you might love.
Plan Your Stay: Choose how many days you'd like to spend at each destination.
Multi-Places Planner: Add several destinations and watch as the app builds a
comprehensive travel roadmap for your journey.
Explore Culture & Street Food: Get a taste of the local culture and discover the best
street food hotspots at every destination, so you can immerse yourself fully.
1.4 Methodology
Agile Methodology
Agile methodologies attempt to produce the proper product through small cross
functional self organizing- teams that produce small pieces of functionality on a
regular basis, allowing for frequent customer input and course correction as needed.
In doing so, Agile tries to address the issues that traditional "waterfall"
methodologies of delivering huge products over extended periods of time encounter,
such as client requirements changing frequently and resulting in the delivery of
incorrect products.
2
Stages of Agile Methodology
Agile development is not that tough when broken down to its core concepts. While
the number of meetings involved may appear unnecessary, it saves a lot of time by
optimizing development tasks and avoiding the errors that can occur during the
planning stage.
• Stakeholder Interviews: Engage with potential users, stakeholders, and travel experts
to understand their needs and expectations from the app.
• Competitive Analysis: Analyze existing travel apps to identify features that are
essential and areas for improvement.
• Objective Definition: Based on stakeholder feedback, define the core objectives (e.g.,
multi-destination planning, cost estimation, personalized experiences).
• App Structure: Define the flow of the app, the navigation scheme (menu, tabs), and
where each feature will be placed.
• User Flows: Map out user journeys for key tasks, such as "Plan a trip," "View cost
estimates," and "Leave feedback."
• Data Flow Diagrams: Illustrate how data will flow through the system, from the user
inputs to the backend processing and database interactions.
• Style Guide:
• Define the visual language of the app, including colors, fonts, button styles, iconography,
and overall theme.
• High-Fidelity Mockups:
• Include screens such as homepage, trip planner, cost estimator, feedback system, and
attractions overview.
• Interactive Prototype:
3
• Create an interactive prototype that mimics the actual user experience.
• Database Design:
• Design the database schema to store user data, trip details, feedback, and cost
estimates.
• API Design:
• Design RESTful APIs that will connect the frontend with the backend for fetching
destination data, processing user input, calculating costs, and handling feedback..
• Performance Optimization:
• Plan for optimal performance by minimizing load times, compressing images, and
using caching for frequently accessed data (e.g., popular destinations, review
that developed during the previous phases, and the Product Owner considers their
suggestions.
The Agile software development lifecycle phases then begin over, either with a
newiteration or by progressing to the next stage and scaling Agile.
• There's a growing demand for personalized travel solutions that help users manage trips
more efficiently while offering cultural insights.
• Millennials and frequent travelers are key target audiences looking for a
comprehensive travel planning experience.
• With the rise of digital solutions, more travelers are relying on apps for convenience,
personalized itineraries, and cost-effective planning, creating a strong demand for
TravelEase.
5
1.6.2 Innovativeness
From the existing and some similar platform we have tried to put all the services at one
place.
TravelEase app include a very unique feature of CSS , and user friendly features.
1.6.3 Usefulness
Provides users with an effective and efficient way to identify their destination.
Purpose: It introduces the topic of the project. It also contains the entry level guide of all
the functionalities in the project and their use.
Rationale: The set of reasons and the logical course of action along with the principles
employed are also mentioned in this section
Goal: Project goal describes the projects impact: the long-term effects that should (also) be
triggered. This reveals that the intended results at this higher level are in the main not
concrete, nor can they be exclusively attributed to this project
6
Chapter 2
System features
It includes the process of determining user expectations for a new or modified website. These
features, called requirements are relevant and detailed. Requirements Analysis define what
the software is supposed to do. The software requirements enable users and serve as the basis
for all the future design, coding, and testing that will be done on the project Requirements are
further defined through performance, look and feel, and other criteria.
1. Multi-Destination Planning:
• Allow users to plan trips to multiple destinations seamlessly by creating a custom itinerary.
• Provide accurate estimates of travel costs, accommodation, and sightseeing times for each
destination.
• Highlight must-visit spots, local culture, and hidden gems at every destination.
• Offer users detailed guides on the local culture, traditions, and the best street food at each
destination.
Suggest optimal travel and sightseeing times, helping users make the most of their trip.
• Collect feedback from users about their travel experiences, improving future suggestions for
other travelers.
7. Roadmap Feature:
• Generate a complete travel roadmap, organizing the trip from start to finish with well-
planned routes, attractions, and travel information.
8. User-Friendly Design
• Ensure the app is intuitive, easy to use, and accessible on mobile and desktop platforms
:
7
2.1 Functional Requirement Collection
1. Multi-Place Planning:
1. The app must allow users to select and plan trips to multiple destinations in one
itinerary.
2. Users should be able to modify or remove destinations from the trip plan.
1. Performance:
1. The app should load within 2 seconds on average across all devices and networks.
2. Handle up to 10,000 concurrent users without degradation in performance.
2. Scalability:
8
2. Automated backups must be scheduled regularly to prevent data loss.
Editor allow user to write code and run the code at same time in HTML, CSS,
and JS simultaneously.
Practice mode allow user to practice the task and check the accuracy
Gallery section will contain the projects made by different user which can be
seen globally
Battel Mode provide the same window as the practice mode but here two users
can compete with each other.
Log in and Sign up section allow user to enter the landing page and to create
an account
Processor with more than or equivalent speed of 533MHz and least two cores maybe
of single or multiple thread.
10
2.3.3 Software Interface
It describes the services needed by the external software components and the nature of the
intercomponent communications. It helps to identify the data that will be shared across the
software components.
MongoDB v6.0(Compass)
11
Chapter 3
Goals that your system or application helps those entities (known as actors) achieve
12
3.1 Use case diagram
13
Model complex workflows in operations on objects
Model in detail complex activities in a high level activity Diagram
14
Purpose of ER diagram
Database design: ER diagrams are used to model and design relational databases, in terms
of logic and business rules (in a logical data model) and in terms of the specific technology
to be implemented (in a physical data model.) In software engineering, an ER diagram is
often an initial step in determining requirements for an information systems project.
Database troubleshooting: ER diagrams are used to analyze existing databases to find and
resolve problems in logic or deployment. Drawing the diagram should reveal where it’s
going wrong.
Business information systems: The diagrams are used to design or analyse relational
databases used in business processes. Any business process that uses fielded data involving
entities, actions and interplay can potentially benefit from a relational database.
Education: Databases are today’s method of storing relational information for educational
purposes and later retrieval, so ER Diagrams can be valuable in planning those data
structures.
Research: Since so much research focuses on structured data, ER diagrams can play a key
role in setting up useful databases to analyse the data
3.3 ER diagram
15
3.4 Class Diagram
Class diagram is a static diagram. It represents the static view of an application. Class diagram is
not only used for visualizing, describing, and documenting different aspects of a system but also for
constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints imposed on
the system. The class diagrams are widely used in the modeling of objectoriented systems because
they are the only UML diagrams, which can be mapped directly with object-oriented languages.
Illustrate data models for information systems, no matter how simple or complex.
Visually express any specific needs of a system and disseminate that information
throughout the business.
Create detailed charts that highlight any specific code needed to be programmed and
implemented to the described structure.
16
3.5 Sequence Diagrams
This diagram illustrates the interactions between various components or objects in a sequential
manner. In your case, it will depict the flow of interactions when a user interacts with the AI-Chat
feature.
17
Chapter 4
Construction
4.1 Implementation
This chapter describes the implementation of Craft Connect, including technical details,
database
structure, and testing methods to ensure the platform’s reliability and efficiency.
• Frontend Development: The frontend is built using technologies such as HTML, CSS,
and JavaScript frameworks (e.g., React or Angular) for a responsive and user-friendly
• Backend Development: The backend uses a robust framework like Spring Boot or
Node.js to handle business logic, data processing, and API integrations. The backend
and payments.
• AI and Machine Learning: Machine learning models are integrated to power the AIbased
vetting system and advanced search functionality. These models assess freelancers’
• Security and Encryption: All sensitive data is encrypted to maintain user privacy and
security, with measures like secure login and role-based access control (RBAC).
• Payment Gateway Integration: Secure APIs from payment processors are integrated to
• Deployment: The platform is hosted on a cloud service (such as AWS or Azure) to ensure
scalability, with load balancing and monitoring to handle traffic and performance.
18
The database is designed to store and manage data efficiently. The following are some key
database tables:
• User Table: Stores user information, including user ID, name, email, password
• Profile Table: Contains details for freelancers and clients, such as skill sets, bio,
• Project Table: Holds project information, including project ID, title, description, budget,
• Bid Table: Records bids placed by freelancers, with columns for bid ID, freelancer ID,
• Message Table: Stores messages exchanged between users, with fields for message ID,
sender ID, receiver ID, message content, timestamp, and read status.
• Payment Table: Contains transaction details, including payment ID, project ID, client
• Review Table: Manages client feedback on freelancers and vice versa, with fields for
review ID, reviewer ID, reviewed ID, project ID, rating, and comments.
4.2 Testing
4.2.1 White Box Testing
White-box testing, also known as structural testing or code-based testing, focuses on
testing the internal logic and structure of the application. It requires access to the
source code and typically involves techniques such as code coverage analysis, path
Unit Testing: Write unit tests using frameworks like JUnit to test individual
components of the application, such as methods, classes, and functions. Verify that each
Integration Testing: Test the integration of various modules or components within the
application to ensure that they work together correctly. This involves testing
communication between different parts of the system, such as database interactions, API
19
calls, and external services.
knowledge of its internal implementation. Testers interact with the application's user
Functional Testing: Create test cases based on the functional requirements of the
application. Test various features and user interactions to ensure they work as expected.
This includes testing user registration, image recognition, leaderboards, and social
features.
Usability Testing: Evaluate the user interface and user experience of the application.
Ensure that it is intuitive, easy to navigate, and accessible to users. Identify any
Compatibility Testing: Test the application on different devices, browsers, and operating
systems to ensure compatibility and consistency across platforms. Verify that the app.
individual modules or units of code in isolation. It ensures that each module behaves
Image Recognition Module Testing: Test the image recognition functionality of the
application thoroughly. Verify that it can accurately identify recyclable items from
useruploaded images under different lighting conditions, angles, and backgrounds.
Database Module Testing: Test the database operations performed by the application, such
as user profile management, leaderboards, and environmental impact tracking. Ensure that
data is stored and retrieved correctly, and that database interactions are handled securely.
API Module Testing: Test the RESTful APIs exposed by the application using tools like
Postman or REST Assured. Verify that APIs accept valid inputs, return the expected
20
Chapter 5: Conclusion
The conclusion of the Waste Sorting and Recycling App project would involve several key
aspects:
Achievements and Successes: Highlight the accomplishments and successes of the project,
such as the development of a functional and innovative waste sorting and recycling
application. Discuss how the app achieved its objectives of promoting environmentally
friendly behavior, educating users about recycling practices, and fostering community
engagement.
Challenges and Lessons Learned: Reflect on the challenges encountered during the project
and the lessons learned from overcoming them. This could include technical challenges, such
as integrating image recognition technology, as well as project management challenges, such
as coordinating development tasks and timelines.
User Feedback and Impact: Discuss the feedback received from users and stakeholders
during testing and deployment phases. Highlight any positive feedback received regarding
the app's usability, effectiveness, and impact on recycling habits. Additionally, share any
insights gained from user data and analytics regarding app usage and engagement.
Conclusion Statement: Conclude the project summary with a final statement that
encapsulates the significance of the Waste Sorting and Recycling App. Emphasize its role
in promoting environmental awareness, encouraging sustainable practices, and contributing
to a greener future for society.
21
Chapter 6: Future Scope
Advanced Image Recognition: Continuously improve the app's image recognition
capabilities by integrating more advanced machine learning algorithms and techniques. This
could involve training the model on a larger dataset of recyclable items and refining its
accuracy and speed.
Expansion to New Markets and Regions: Expand the reach of the app to new markets and
regions, both domestically and internationally, to promote waste sorting and recycling on a
global scale. This may involve localizing the app for different languages and tailoring it to
suit the unique recycling infrastructure and practices of each region.
22
References
Websites:
• “How Freelance Platforms Are Changing the Job Market.” (2023). Freelancer
Insights. Retrieved
from https://www.freelancerinsights.com/changes-in-freelance-market.
• "The Role of AI in Freelance Platforms." (2022). AI Today. Retrieved from
https://www.aitoday.com/ai-in-freelance-platforms.
Tech Documentation:
• Spring Boot Documentation. (2023). Spring Framework. Retrieved from
https://spring.io/projects/spring-boot.
• ReactJS Documentation. (2023). ReactJS. Retrieved from
https://reactjs.org/docs/gettingstarted.html.
Security References:
• O'Reilly, T. (2020). Secure Your Freelance Platform. O'Reilly Media.
• Bogan, J., & Lee, M. (2019). “Data Encryption in Freelance Platforms.” Journal of
Cybersecurity,
11(1), 15-22.
Payment Gateway Integration:
• “How to Integrate Payment Gateways.” (2022). Tech Blog. Retrieved from
https://www.techblog.com/payment-gateway-integration.
23
Appendix-A
24
Appendix-B
This appendix presents the detailed schema for the database used in Craft
Connect, including
tables and relationships. It could include the following tables:
• Users Table: Stores user information like name, email, password hash,
user type
(freelancer or client), and profile details.
• Projects Table: Stores details of the projects posted by clients (project
title, description,
budget, etc.).
• Bids Table: Stores bid data from freelancers, linking freelancers to
projects.
• Transactions Table: Stores information about payments made for
projects.
• Ratings Table: Stores ratings given by clients and freelancers
25