Internship Project Report
Submitted in partial fulfilment of the requirement for the Degree of
Masters of Science
In
COMPUTER SCIENCE
DEPARTMENT OF COMPUTER SCIENCE
UNDER THE SUPERVISION OF
[Link] Pal
SUBMITTED BY
Sakshi (22234747038)
Declaration
I, Sakshi , hereby declare that the project titled Location-Based Prod-
uct Search Mobile Application has been undertaken by me at Kr
Techno Private Limited. This work conducted under the joint supervi-
sion of Dr. Om Pal, Associate Professor at the Department of Computer
Science, University of Delhi and Mr. Karunakar Reddy D , CEO, App
Developer at Kr Techno Pvt. Ltd., Hyderabad.
This project, which commenced on March 20, 2024, and completed on July
20, 2024, has been pursued as a Major project in the fourth semester of my
[Link]. Computer Science program. It contributes to the partial fulfillment
of the requirements for the award of the degree of Master of Science in
Computer Science, 2022-24.
To the best of my knowledge and belief, this project is an original piece of
work and has not been submitted, either in whole or in part, to any other
university or institution for the award of any degree or diploma.
Date:
Place: University of Delhi
.....................................
Sakshi
22234747038
Certificate
This is to certify that the major project report entitled Location-Based
Product Search Mobile Application submitted to the Department of
Computer Science, University of Delhi, for the award of the degree of Mas-
ter of Computer Science, 2022-24, is an industry internship work has been
carried out by Sakshi (Roll No: 22234747038) under the supervision of
Dr. Om Pal, Associate Professor at the Department of Computer Science,
University of Delhi, and Mr. Karunakar Reddy D, CEO, App Developer
at Kr Techno Private Limited., Hyderabad. The internship commenced
on March 20, 2024, and completed on July 20, 2024. To the best of our
knowledge, this work has not been submitted in part or in full to any other
university or institution for the award of any degree or diploma.
..................................... .....................................
Supervisor CEO
Dr. Om Pal Mr. Karunakar Reddy D
Department of Computer Science Kr techno pvt. lmt.
University of Delhi
.....................................
Date: Head of Department
Place: University of Delhi Dr. Naveen Kumar
ACKNOWLEDGEMENT
The sense of fulfillment that comes with the completion of a task would
be incomplete without the mention of individuals whose cooperation made
it conceivable. I wish to thank Mr. Karunakar reddy D for providing me
with an opportunity to work on this project. His continuous support, guid-
ance, and vision have helped me in this project. It has been a delightful
experience working with the team. My heartfelt thanks to the training
team and all my team members who helped me sort out all the technical
issues and in updating my knowledge which undoubtedly will also be use-
ful in the future. I wish to place my gratitude to Kr techno Pvt. Ltd. for
providing me an opportunity to work with them on this project of such im-
portance. My stay in the organization has been a great learning experience
and a curtain-raiser to an interesting and rewarding career. This exposure
has enriched me with technical knowledge. Also, introduced me to the
attributes of a successful professional. I like to thank Dr. Om Pal for his
help, valuable suggestions, and moral support. I wish to express my deep
gratitude towards my faculty at the University of Delhi who taught the
fundamental essentials to undertake such a project, without their valuable
guidance it would have been difficult to grasp and visualize the project
theoretically. Finally, I would like to thank Prof. Naveen Kumar, Head,
Department of Computer Science, the University of Delhi for providing us
this opportunity to carry out this project at Kr techno Pvt. Ltd.
i
Contents
1 COMPANY PROFILE 1
1.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Mission . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Technology Solutions . . . . . . . . . . . . . . . . . . . . . 4
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 ABOUT THE PROJECT 6
2.1 Location-Based Product Search Mobile Application . . . . 6
2.1.1 About . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Key features of the Application . . . . . . . . . . . 7
2.1.3 Problem Statement . . . . . . . . . . . . . . . . . 8
2.2 Architecture of the Android Application . . . . . . . . . . 8
2.2.1 Workflow of the Android Application . . . . . . . . 8
2.3 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Target Audience . . . . . . . . . . . . . . . . . . . . . . . . 11
3 MY CONTRIBUTION 13
3.1 Milestones . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Working of the Android Application(Hunger Land) . . . . 14
3.3 Database Structure Overview . . . . . . . . . . . . . . . . 14
3.3.1 Modeling Food Outlets with OOP . . . . . . . . . . 14
3.4 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5 Technologies used . . . . . . . . . . . . . . . . . . . . . . 17
3.6 My task . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 MY LEARNING 21
4.1 Agile Methodology: . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Firebase Understanding and Implementation: . . . . . . . 21
4.3 Jira: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
ii
CONTENTS
4.4 GitHub Commands: . . . . . . . . . . . . . . . . . . . . . 22
4.5 Interpersonal Skills: . . . . . . . . . . . . . . . . . . . . . . 22
4.6 Teamwork: . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5 FUTURE SCOPE 24
6 CONCLUSION 26
iii
List of Figures
2.1 Workflow Diagram of the Application . . . . . . . . . . . . 9
3.1 Milestone . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Database structure overview . . . . . . . . . . . . . . . . . 14
3.3 FoodArray in ItalianFood class . . . . . . . . . . . . . . . 15
3.4 Class Hierarchy and Interface Implementation for Food Out-
lets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 Android Studio Logo . . . . . . . . . . . . . . . . . . . . . 17
3.6 Figma Logo . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7 [Link] Logo . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.8 Firebase Logo . . . . . . . . . . . . . . . . . . . . . . . . . 18
iv
List of Tables
1.1 Services provided by Kr techno . . . . . . . . . . . . . . . 4
v
Abstract
KR Techno Private Limited is a dynamic organization engaged in the com-
prehensive life cycle of software products, spanning development, produc-
tion, sales, and ongoing maintenance. KR Techno Private Limited offers a
comprehensive suite of services, including software development, produc-
tion, sales, maintenance, Android app development, website creation, and
IT consulting. They combine consulting expertise with custom Android
apps to drive business growth.
The learning approach leverages a project-based approach. This initial
project aims to develop a groundbreaking mobile application that redefines
how users discover products based on their location. By leveraging ad-
vanced location services and seamless integration with product databases,
the application strives to provide users with a streamlined and personalized
shopping experience.
The App Development team plays a crucial role to offer a variety of ser-
vices, including software development, website creation, and IT consulting.
By working together, team creates custom solutions that help their clients
grow. This collaborative approach is crucial for successfully completing
complex projects. Diverse team expertise allows KR Techno Pvt. Lmt. to
tackle challenges from various angles, leading to more efficient problem-
solving and innovative solutions.
My project focuses on developing a mobile application that simplifies
finding nearby products. Users can search for items by name, category,
or keyword, and the app filters results based on current location. Prod-
uct listings include details like price and distance, with an integrated map
displaying nearby product locations. Users can view detailed product in-
formation and even leave reviews to help others make informed decisions.
We were successfully able to create an application that does the required
task and are hoping to formalize it for our business use case in the near
future.
Kr techno [Link]. provided me with the opportunity to work as
an app developer Intern. During this internship, I learned many tips and
tricks from work ethics to best coding practices. In the future, this learning
will be helpful to work on many other projects.
Chapter 1
COMPANY PROFILE
KR Techno Private Limited is a company that offers a wide range of tech-
nology services. They handle the entire process of creating software prod-
ucts, from start to finish, including development, production, sales, and
ongoing maintenance. They also specialize in building Android apps, and
websites. They create innovative apps, reliable systems, and modern tools
that work on various devices and platforms. Their commitment to stay-
ing up-to-date with technology allows them to address client needs and
contribute to the ever-changing tech world.
1.1 Objective
At KR Techno Private Limited aims to leverage advanced technology to
deliver superior custom software solutions tailored to the unique needs of
our clients. They focus on creating innovative technology solutions that
address current challenges while paving the way for a future marked by
enhanced efficiency and technological progress.
KR Techno Private Limited is dedicated to advancing technology through
a holistic approach that meets client needs and contributes significantly to
the evolving tech landscape. By fostering innovation and excellence, we
aim to drive organizations toward a future of increased efficiency and suc-
cess. They specialize in developing custom software, Android applications,
websites, and smart home systems, and we provide comprehensive IT con-
sulting services. Their focus lies in staying at the forefront of technology
by creating cutting-edge tools and contributing to the industry’s advance-
ment, while also empowering future generations through scholarships for
Indian students.
1
CHAPTER 1. COMPANY PROFILE
1.2 Mission
Designing and Developing exceptional software solutions that seamlessly
integrate into everyday life, enhancing efficiency, boosting connectivity,
and empowering users in the digital era. Through our unwavering com-
mitment to innovation, They strive to redefine technological landscapes
by consistently delivering impactful and user-centric experiences. They
create software that not only meets the needs of today but also anticipates
and adapts to the challenges and opportunities of tomorrow, significantly
contributing to a more connected, efficient, and empowered digital world.
1.3 Vision
The vision of Kr techno is to create an innovative landscape where seam-
less, impactful software experiences drive positive change and foster con-
tinuous advancement. Together, we aim to construct a future where tech-
nology not only meets but surpasses expectations, contributing to a world
where the potential of interconnected solutions is boundless.
1.4 Services
Custom Software Develop-
ment
KR Techno offers tailor-made so-
lutions to address your unique
business needs through custom
software development. Our
bespoke digital transformations
empower efficiency, innovation,
and scalability, ensuring your or-
ganization’s goals are met with
precision and excellence. Experi-
ence a customized approach that
perfectly aligns with your opera-
tional requirements and strategic
objectives.
2
CHAPTER 1. COMPANY PROFILE
IT Consulting
Our strategic IT consulting ser-
vices are designed to elevate your
business by navigating technol-
ogy challenges and optimizing
solutions for enhanced perfor-
mance and growth. KR Techno’s
experts leverage industry in-
sights and best practices to drive
efficiency and innovation across
your IT landscape, ensuring that
your technology investments de-
liver maximum value.
Mobile App Development
With KR Techno’s mobile app
development expertise, we craft
cutting-edge applications that
seamlessly blend intuitive user
interfaces with robust function-
ality. Our mobile solutions pro-
vide an unparalleled user ex-
perience, enabling you to en-
gage your audience effectively
and stay ahead in the competi-
tive mobile landscape.
Proctoring Solutions
Ensure the integrity and secu-
rity of your assessments with
KR Techno’s advanced proctor-
ing solutions. Utilizing state-
of-the-art technology, we moni-
tor and authenticate online ex-
ams, ensuring a credible and se-
cure testing environment. Our
proctoring services are powered
by robust surveillance and AI-
driven analysis, elevating the
credibility and reliability of re-
mote testing.
3
CHAPTER 1. COMPANY PROFILE
Web Development
Transform your digital presence
with KR Techno’s expert web
development services. We com-
bine creativity with functional-
ity to craft responsive and dy-
namic websites tailored to your
unique business needs. From
sleek, modern designs to seam-
less user experiences, we bring
your online vision to life, ensur-
ing your website stands out in
the digital landscape.
Table 1.1: Services provided by Kr techno
1.5 Technology Solutions
• Streamlining Software Development: KR Techno’s involve-
ment in the entire software life cycle simplifies the process for
clients. They handle everything from initial development to on-
going maintenance, ensuring a smooth and efficient journey.
• Platform Agnostic Development: By specializing in An-
droid apps, websites, and even smart home systems (domotic
solutions), KR Techno caters to a wide range of platforms and
devices. This allows them to address the diverse needs of their
clients.
• Expert IT Consulting: KR Techno’s consulting services of-
fer valuable guidance to businesses navigating the ever-changing
tech landscape. This expertise allows clients to make informed
decisions about technology adoption and utilization.
1.6 Conclusion
In conclusion, Kr Techno Pvt. Ltd. stands as a shining example of a com-
pany that combines technical expertise, innovation, and a customer-centric
approach to deliver exceptional software solutions. With its unwavering
4
CHAPTER 1. COMPANY PROFILE
commitment to quality, forward-thinking mindset, and passion for driving
digital transformation, Kr Techno continues to set new benchmarks in the
industry. As technology continues to evolve, businesses can rest assured
that Kr Techno will lead the way and empower them to thrive in the digital
world.
5
Chapter 2
ABOUT THE PROJECT
This chapter dives deep into the inner workings of the Android Software
Development Team at KR Techno Pvt. Ltd. We’ll explore their day-
to-day operations, and understand the objectives. It also discusses the
general working of the Android Software Developer team in Kr Techno
Pvt. Ltd. It also discusses the objective and Key features of the project.
2.1 Location-Based Product Search Mobile Applica-
tion
2.1.1 About
The objective of our project is to develop an innovative mobile application
that will transform how users discover products based on their location.
By leveraging advanced location services and seamlessly integrating with
product databases, our app aims to provide users with a streamlined and
personalized shopping experience.
At the core of our app is a user-friendly interface designed for easy nav-
igation, ensuring users can quickly find what they are looking for. The
clean and responsive design enhances the overall user experience, making
the app accessible to users of all ages and technical backgrounds. By uti-
lizing advanced location services, the app offers real-time tracking to help
users discover products available nearby. This feature ensures that users
receive the most relevant product suggestions based on their current loca-
tion, enhancing convenience and immediacy.
The application includes a comprehensive product search functional-
ity, allowing users to filter and sort products based on various criteria
6
CHAPTER 2. ABOUT THE PROJECT
such as price, category, and rating. This robust search capability ensures
that users can easily find exactly what they need, tailored to their specific
preferences. Additionally, the app features interactive map displays, en-
abling users to visualize product locations on a detailed map. This feature
highlights nearby stores and available products, simplifying the process of
finding items close by and making the shopping experience more efficient
and enjoyable.
Detailed product listings provide comprehensive information, including
images, descriptions, and pricing details for each product. This level of
detail helps users make informed purchasing decisions by giving them all
the necessary information at a glance. Furthermore, the app includes a
user reviews and ratings system, allowing users to read reviews from other
shoppers, compare ratings, and select products that best meet their needs
and expectations.
By combining these features, our mobile application aims to transform
the shopping experience, making it more convenient, personalized, and
enjoyable for users. Whether they are looking for the nearest store with
a desired product or comparing prices and reviews, users will find every-
thing they need at their fingertips. This innovative approach to product
discovery sets the stage for a new era in location-based shopping solutions,
providing a powerful tool that enhances both the user experience and the
efficiency of product discovery.
2.1.2 Key features of the Application
1. User-Friendly Interface with Intuitive Navigation:
Our application boasts a user-friendly interface designed to enhance the
overall user experience. Intuitive navigation ensures that users can
effortlessly explore the app’s features and functionalities. The interface is
designed with simplicity and accessibility in mind, making it easy for
users of all technical proficiencies to engage with the application. Key
elements include a clean layout, easy-to-understand icons, and
straightforward menu options, all of which contribute to a seamless and
enjoyable user journey.
2. Comprehensive Product Search Functionality with Filters
and Sorting Options:
7
CHAPTER 2. ABOUT THE PROJECT
To help users find exactly what they’re looking for, the application
includes a comprehensive product search functionality. Users can quickly
search for products using keywords, and refine their search results with a
variety of filters and sorting options. Filters may include categories, price
ranges, brands, while sorting options allow users to order products by
relevance, price, popularity, and more. This powerful search feature
ensures that users can efficiently find products that meet their specific
needs and preferences.
3. Detailed Product Listings Including Descriptions, and
Pricing:
Each product listed in the application is presented with detailed
information to assist users in making informed purchasing decisions.
Product listings include thorough descriptions, specifications, and pricing
details. By offering comprehensive product information, the application
ensures transparency and builds trust with its users.
2.1.3 Problem Statement
In today’s dynamic retail landscape, traditional methods of product dis-
covery often fail to deliver personalized and location-aware experiences to
users. Existing mobile applications lack the seamless integration of ad-
vanced location services with comprehensive product databases, hindering
users from efficiently discovering products tailored to their immediate sur-
roundings. This gap highlights the pressing need for a revolutionary mo-
bile application that redefines how users engage with retail environments
through real-time, location-based product discovery. This application will
empower users to effortlessly discover products relevant to their current lo-
cation, thereby enhancing their shopping experience with unprecedented
convenience and personalization. By bridging the gap between physical re-
tail environments and digital accessibility, our solution aims to transform
the way users interact with products and retailers, setting a new standard
for mobile-driven consumer engagement.
2.2 Architecture of the Android Application
2.2.1 Workflow of the Android Application
8
CHAPTER 2. ABOUT THE PROJECT
Figure 2.1: Workflow Diagram of the Application
1. Onboarding:
When a user first downloads and opens the app, they are greeted with a
welcome screen that highlights the app’s key features, setting the stage
for what they can expect. This initial screen is designed to captivate
their interest and provide a quick overview of the app’s capabilities. The
onboarding process then guides the user through a seamless sign-up or
log-in experience, offering multiple options such as using an email
address or linking their social media accounts. Once logged in, the app
prompts the user to grant necessary permissions, including location
access and notifications, ensuring the app can deliver personalized and
location-specific content. This step is crucial for enabling the core
functionalities that enhance the user’s shopping experience.
2. Home Screen:
Upon completing the onboarding process, the user is directed to the
home screen, where the app immediately detects their current location.
This location detection is vital as it allows the app to present relevant
product information tailored to the user’s geographical area. The home
screen acts as the central hub, displaying a personalized feed of products,
deals, and local store information. This real-time localization ensures
that users are always aware of the best shopping opportunities available
nearby, making their browsing experience highly relevant and efficient.
3. Product Discovery:
The product discovery phase empowers users to find exactly what they
need with ease. Users can search for specific products or utilize various
9
CHAPTER 2. ABOUT THE PROJECT
filters to narrow down their options based on categories, price ranges,
and ratings. This robust search and filtering system is designed to handle
a wide array of user queries, ensuring that they can quickly and
efficiently find products that meet their criteria. Whether they are
looking for the best deals, specific brands, or top-rated items, the app’s
intuitive search functionality simplifies the discovery process.
4. Checkout:
Once users have found the products they want, they can add items from
multiple stores to their cart, making it easy to consolidate their
purchases in one place. The checkout process is streamlined to offer
multiple payment options, including credit/debit cards, digital wallets,
and cash on delivery, catering to various user preferences and enhancing
convenience. After selecting their preferred payment method and
completing the purchase, users receive an order confirmation message.
This confirmation includes details of their order and provides tracking
capabilities, allowing users to monitor the status of their purchases until
they are delivered. This comprehensive and user-friendly checkout
process ensures a smooth transition from browsing to buying,
culminating in a satisfying shopping experience.
2.3 Objective
1. Enhance user shopping experience with location-based
product discovery:
The primary objective of our mobile application is to revolutionize the
shopping experience by leveraging advanced location-based services. The
app will accurately detect and utilize the user’s current location to
provide real-time information on nearby products, stores, and deals.
Notify users of local sales events, promotions, and new arrivals in real
time, enhancing the immediacy and relevance of the shopping experience.
2. Streamline the Process of Finding Products and Stores:
Our app aims to make the process of finding desired products and stores
as efficient and hassle-free as possible. This involves Implementing robust
search functionality with extensive filters (e.g., price, brand, rating) to
help users quickly find exactly what they’re looking for, and Designing
10
CHAPTER 2. ABOUT THE PROJECT
an intuitive and user-friendly interface that makes navigation and
product discovery effortless.
2.4 Target Audience
1. Busy Professionals:
Busy professionals often have limited time for shopping and value tools
that can streamline their purchasing process. Our app provides quick
and easy access to product information and store locations, helping them
save time. Personalized recommendations tailored to their tastes and
needs ensure they find what they’re looking for without extensive
searching. Additionally, features like one-click purchasing and home
delivery options allow them to shop on-the-go or during breaks,
enhancing their overall convenience.
2. Tech Enthusiasts:
Our app is designed for tech-savvy shoppers who value convenience,
efficiency, and personalization in their shopping experiences. In today’s
fast-paced world, these users seek tools that can seamlessly integrate into
their busy lifestyles, offering intuitive solutions that save time and effort.
They appreciate technology that not only simplifies their daily tasks but
also enhances their overall shopping journey by providing relevant,
real-time information and recommendations tailored to their unique
preferences. These shoppers are accustomed to leveraging the latest
innovations to streamline their routines and expect an app that can
deliver swift access to product information, store locations, and exclusive
deals based on their immediate surroundings. Additionally, they value
the ability to personalize their shopping experience, from curated
product suggestions to customizable app interfaces, ensuring that every
interaction with the app feels unique and relevant to their needs. By
catering to these demands, our app aims to transform the traditional
shopping process into a modern, efficient, and enjoyable experience that
meets the high expectations of tech-savvy consumers.
3. Local Shoppers:
Local shoppers prefer to support nearby businesses and enjoy discovering
unique local products. Our app enhances their experience by
11
CHAPTER 2. ABOUT THE PROJECT
emphasizing local stores and products, helping them find and support
nearby businesses. Community engagement features highlight local
events, markets, and community activities, fostering a sense of belonging.
Personalized recommendations based on local trends and user preferences
provide a personal touch, making their shopping experience more
enjoyable and community-focused.
12
Chapter 3
MY CONTRIBUTION
3.1 Milestones
Figure 3.1: Milestone
13
CHAPTER 3. MY CONTRIBUTION
3.2 Working of the Android Application(Hunger Land)
Our application seamlessly integrates frontend Android technology with a
robust [Link] backend to deliver a cohesive user experience. At the front
end, intuitive user interfaces are designed, incorporating Android’s layout
system to accommodate various screen sizes and orientations. Data man-
agement involves POJO (Plain Old Java Object) classes on the Android
side, ensuring efficient data encapsulation and transfer within the applica-
tion. RESTful APIs facilitate seamless communication with a PostgreSQL
database on the backend, ensuring data integrity and efficient querying.
Real-time updates are facilitated through Firebase Realtime Database, en-
hancing user interaction with dynamic content. Offline capabilities ensure
uninterrupted functionality, synchronizing data changes once connectiv-
ity is reestablished. Authentication is handled securely through backend
APIs, generating JWT tokens for authorization.
3.3 Database Structure Overview
3.3.1 Modeling Food Outlets with OOP
Figure 3.2: Database structure overview
14
CHAPTER 3. MY CONTRIBUTION
Figure 3.3: FoodArray in ItalianFood class
Figure 3.4: Class Hierarchy and Interface Implementation for Food Outlets
15
CHAPTER 3. MY CONTRIBUTION
Italian Food Outlets: Class Design
The Italian Food Outlets class is a specialized subclass of the generic
Food Outlets class. This design structure enables it to inherit essential
properties such as name and location, which are fundamental to all food
outlet types.
Class Definition and Implementation
1. Purpose and Representation:
The Italian Food Outlets class is designed to represent establishments
that specifically offer Italian cuisine. Each object instantiated from
this class corresponds to a unique shop providing Italian food.
2. Inheritance and Interface Implementation:
• The class extends the Food Outlets class, thereby inheriting its
core properties: name and location.
• Additionally, it implements the Outlet Details interface, which
mandates the inclusion of a showMenu method. This ensures that
each Italian Food Outlet object can display its menu, fulfilling the
interface’s contract and preventing the class from being abstract.
3. Composition with Italian Food:
The class contains a reference variable for an Italian Food object.
During the creation of an Italian Food Outlet instance, its constructor
initializes this reference by creating a new Italian Food object.
4. Menu Representation:
The Italian Food object within the class holds a two-dimensional array
property that represents the menu. This array is composed of objects
that detail individual menu items.
• Pizza Options:
– Name: Margherita, Price: 150
– Name: Cheese Burst, Price: 200
• Burger Options:
– Name: Mac Aloo Tikki, Price: 100
– Name: Maharaja Burger, Price: 250
16
CHAPTER 3. MY CONTRIBUTION
3.4 Challenges
1. Implementing POJO Classes:
While working on the project, one of the initial challenges was
implementing Plain Old Java Object (POJO) classes in Android. Despite
understanding Object-Oriented Programming (OOP) principles,
translating these into efficient and effective POJO classes proved to be
more difficult than anticipated. This required a deeper understanding of
Java syntax and conventions, as well as how to properly encapsulate data
and ensure seamless data transfer within the application.
2. Fetching Data from Firebase and Storing it as JSON Objects:
While exploring Firebase for its beginner-friendly project capabilities, the
challenges are encountered in fetching data and storing it as JSON
objects. Managing asynchronous data fetching and real-time updates
posed initial challenges, necessitating a deeper understanding of
Firebase’s real-time database functionalities.
3. User Authentication with JWT:
Connecting Android frontend with [Link] backend for user
authentication using JWT (JSON Web Tokens) was pivotal and
challenging. Challenges included implementing secure token-based
authentication, managing user sessions across platforms, and ensuring
data integrity and security throughout the authentication process.
3.5 Technologies used
1. Android Studio stands as the essential IDE
for Android developers, developed by Google. It
features a robust code editor with advanced capa-
bilities like code completion and error checking,
supporting languages such as Java, Kotlin, and
C++. The Layout Editor enables intuitive UI de-
sign through drag-and-drop functionality, accom-
modating various screen sizes and device configu-
Figure 3.5: Android Stu- rations. Powered by the Gradle build system, An-
dio Logo droid Studio automates tasks from compilation to
17
CHAPTER 3. MY CONTRIBUTION
APK generation, ensuring efficient project man-
agement. Its integrated emulator facilitates comprehensive app testing
across different Android versions and configurations. Seamless integration
with Git supports collaborative development, while performance profiling
tools aid in optimizing app performance. Continuously updated to sup-
port the latest Android SDKs, Android Studio remains indispensable for
creating sophisticated Android applications with productivity and ease.
2. Figma is a web-based design and proto-
typing tool that has gained immense popularity
among designers and developers for its collabo-
rative capabilities and comprehensive feature set.
Figma’s intuitive interface includes powerful vec-
tor editing tools, making it ideal for creating scal-
able and high-fidelity user interfaces. It also fea-
tures interactive prototyping capabilities, enabling
Figure 3.6: Figma Logo designers to build and test user flows without leav-
ing the platform. The ability to create and main-
tain component libraries ensures design consistency across projects and
accelerates the design process by allowing designers to reuse elements.
3. [Link] is an open-source, server-side run-
time environment that leverages the V8 JavaScript
engine to execute JavaScript code outside of a
browser. Its event-driven, non-blocking I/O model
makes it particularly well-suited for building scal-
Figure 3.7: [Link] Logo able network applications, enabling it to handle
a large number of simultaneous connections with
high throughput. This scalability is a key advantage, as it allows develop-
ers to build real-time applications such as chat apps, online gaming, and
live streaming services with ease. [Link] also facilitates full-stack devel-
opment by enabling the use of JavaScript on both the client and server
sides, fostering a more cohesive development process.
4. Firebase provides two robust database
solutions: Firebase Realtime Database and Fire-
base Firestore. The Firebase Realtime Database is
a cloud-hosted NoSQL database that stores data
in JSON format and synchronizes it in real time
18
Figure 3.8: Firebase Logo
CHAPTER 3. MY CONTRIBUTION
across all connected clients, ensuring instant data
updates and seamless user experiences. It supports
offline access, allowing users to read and write data
even without an internet connection, with changes
syncing upon reconnection. Firestore provides ro-
bust offline support and better integration with other Firebase and Google
Cloud services, making it suitable for more complex applications requiring
advanced querying capabilities and scalability.
3.6 My task
The objective of my task is to develop a comprehensive and scalable An-
droid application that seamlessly integrates with a robust [Link] backend,
designed to provide users with an intuitive and secure platform for manag-
ing their data. The application offers a user-friendly interface, optimized
for various screen sizes and orientations, where users can register, log in,
and manage their personal information. By leveraging Android’s powerful
development environment and mastering Java programming fundamentals,
I ensured that the application is built on solid ground with well-structured
and maintainable code, adhering to Object-Oriented Programming (OOP)
principles for scalability and efficiency.
Key features of the application include real-time data synchronization
and offline capabilities, enabled through Firebase integration. This allows
users to interact with dynamic content and experience uninterrupted func-
tionality even when offline. User authentication is handled through secure
JWT (JSON Web Tokens) tokenization, enhancing data protection and
session management. By focusing on these aspects, the application aims
to deliver a cohesive, responsive, and secure user experience, capable of
meeting the demands of real-world use and scalability.
1. Android Development:
I embarked on my Android development journey by immersing myself in
Android Studio, where I delved into the fundamentals of Java
programming and learned how to utilize Android’s powerful development
environment. Mastering Object-Oriented Programming (OOP) principles
was foundational, enabling me to structure my code effectively and
implement scalable solutions within Android applications.
19
CHAPTER 3. MY CONTRIBUTION
2. POJO Classes Implementation:
Implementing POJO (Plain Old Java Object) classes proved to be a
significant challenge early in my development journey. These classes are
essential for encapsulating data and facilitating smooth data
management across various layers of the application. Overcoming these
challenges required a deep understanding of Java’s syntax and
conventions, ensuring that data could be encapsulated and transferred
seamlessly within the application.
3. Firebase Integration:
As I progressed, I explored Firebase and its capabilities for beginner-level
project creation. Understanding its real-time database functionalities was
crucial, but I encountered challenges when fetching data from Firebase
and storing it as JSON objects. Managing asynchronous data fetching
and ensuring real-time updates posed initial hurdles that required
thorough debugging and learning effective data handling techniques.
4. User Authentication with JWT:
Connecting the Android frontend with the [Link] backend for user
authentication was a significant milestone. Implementing JWT (JSON
Web Tokens) tokenization ensured secure authentication processes,
enhancing user data protection and session management. This
integration required careful consideration of security measures to prevent
unauthorized access and maintain data integrity.
5. UI Design Implementation:
Completing the technical backbone, I dedicated time to implementing a
visually appealing and intuitive UI for the Android application. This
involved translating design mockups into functional UI components,
optimizing layouts for different screen sizes and orientations, and
adhering to user interface design principles. Ensuring responsiveness and
accessibility were key considerations in delivering a seamless user
experience.
20
Chapter 4
MY LEARNING
During my internship, I had the valuable opportunity to acquire knowledge
and practical experience in several key areas related to software develop-
ment and project management. Here are the detailed explanations of my
learnings in each of these areas:
4.1 Agile Methodology:
I gained a comprehensive understanding of the Agile methodology, which
emphasizes iterative and incremental development. I learned about the
principles and values behind Agile, such as responding to change, deliver-
ing working software, and promoting collaboration among team members.
Working in Agile teams, I experienced the benefits of short development
cycles known as sprints, where requirements are continuously refined and
prioritized. I actively participated in daily stand-up meetings, sprint plan-
ning sessions, and retrospectives, which enhanced my ability to adapt to
changing project needs, collaborate effectively with team members, and
deliver value to stakeholders in a timely manner.
4.2 Firebase Understanding and Implementation:
Firebase is a comprehensive platform developed by Google for building
mobile and web applications. It provides a variety of tools and services,
including real-time databases, authentication, analytics, and cloud stor-
age, which are essential for developing scalable applications. During my
internship, Firebase’s real-time database and authentication services pro-
vided a robust foundation for our initial project stages. We learned how
to fetch data from Firebase and store it within JSON objects, which deep-
ened our understanding of cloud-based database management. This expe-
21
CHAPTER 4. MY LEARNING
rience enhanced our ability to handle asynchronous data operations, man-
age real-time updates, and ensure data integrity and consistency within
our application.
4.3 Jira:
Jira is a robust project management tool widely used in the software devel-
opment industry. During my internship, I gained hands-on experience with
Jira and learned how to leverage its features for efficient project planning
and tracking. I became proficient in creating and managing tasks, creating
user stories, assigning priorities, estimating effort, and monitoring progress
through Jira’s interactive boards and workflows. I also collaborated with
team members by commenting on tasks, attaching relevant files, and uti-
lizing Jira’s extensive reporting capabilities. This experience enhanced
my project management skills and provided me with a deeper understand-
ing of the importance of structured task management and maintaining an
organized project backlog.
4.4 GitHub Commands:
As a version control system, GitHub plays a crucial role in facilitating
collaborative development and code management. Throughout my intern-
ship, I gained proficiency in essential Git commands, such as cloning repos-
itories, creating branches, committing changes, pushing and pulling code,
and resolving merge conflicts. I actively utilized GitHub for collaborative
code reviews and the creation of pull requests. This experience taught
me the significance of version control in maintaining a stable codebase, fa-
cilitating seamless collaboration, and enabling easy rollbacks if necessary.
Additionally, I learned about Git branching strategies, including feature
branches, release branches, and hotfix branches, which allowed for efficient
development and maintenance of the codebase.
4.5 Interpersonal Skills:
Effective communication is a fundamental skill in any professional envi-
ronment. During my internship, I had the opportunity to enhance my
communication skills through various interactions within the team. I ac-
tively participated in team meetings, provided updates on my progress,
22
CHAPTER 4. MY LEARNING
and engaged in discussions with team members to align project objectives
and resolve any challenges. Additionally, I sharpened my written commu-
nication skills by documenting my work, sharing project-related informa-
tion, and collaborating with colleagues through email, chat platforms, and
project management tools. This experience highlighted the importance
of clear and concise communication, active listening, and the ability to
articulate ideas effectively.
4.6 Teamwork:
Collaborating with a diverse team of professionals during my internship
emphasized the significance of teamwork in achieving project success. I
actively engaged in cross-functional teams, where I contributed my skills
and knowledge while learning from others. I experienced the benefits of
leveraging diverse perspectives, sharing insights, and collectively solving
problems. By actively participating in team discussions, respecting dif-
fering opinions, and fostering a supportive and inclusive environment, I
contributed to a positive team dynamic. This experience reinforced the
understanding that effective teamwork enhances creativity, productivity,
and overall project outcomes.
Overall, my internship provided me with a comprehensive and
formal understanding of Agile methodology, Jira, GitHub,
effective communication, and teamwork. These learnings have
not only equipped me with practical skills but have also shaped
my professional development and prepared me to contribute
effectively to future projects and organizations.
23
Chapter 5
FUTURE SCOPE
1. Transition from Firebase to [Link] Server:
Currently, the application utilizes Firebase’s database services i.e.
Firestore, for data storage and synchronization. However, Firebase, while
convenient for initial development and small-scale applications, may not
provide the level of customization and control needed as the application
grows. By shifting to [Link], we aim to leverage its robust capabilities
for backend development, allowing us to implement a more tailored and
scalable solution. As part of the project’s future vision, the plan includes
transitioning away from Firebase to fully integrate the backend code and
database within the [Link] framework. This strategic shift aims to
enhance scalability and performance, ensuring that the application can
handle increased user loads and more complex data interactions
efficiently. By consolidating the backend infrastructure, the application
will benefit from improved data management, enhanced security
measures, and a more streamlined development process.
2. Incorporate Advanced Search Techniques:
To enhance the search capabilities of the application, we will implement
advanced techniques that cater to diverse user needs and preferences.
Firstly, we will introduce audio search functionality, allowing users to
search for food items using voice commands. This feature will leverage
speech recognition technology to convert spoken queries into text,
enabling a hands-free search experience that is intuitive and convenient.
Secondly, the application will support simultaneous search for multiple
food items, such as ”Pizza and burger”, providing users with combined
results for their varied cravings in a single query. This functionality
enhances usability and efficiency, allowing users to quickly find and
24
CHAPTER 5. FUTURE SCOPE
compare multiple items without performing separate searches. These
enhancements not only improve user satisfaction by offering a more
personalized and flexible search experience but also leverage cutting-edge
technologies to keep the application at the forefront of innovation in the
food ordering industry.
3. Enhance Error Handling and Logging:
Implement thorough error detection and handling mechanisms to provide
clear and informative error messages to users. Set up automated alerts
for critical errors to ensure timely intervention and resolution. Maintain
detailed logs of user activities, system events, and errors for better
diagnosis and troubleshooting. Allow users to report issues directly
through the interface, facilitating quick identification and resolution of
problems.
4. Incorporate More Security Features and APIs for Payment
and User Logging:
Implement multi-factor authentication (MFA) to add an extra layer of
security for user accounts. Integrate reliable and secure payment APIs to
ensure safe and seamless transactions. Integrate reliable and secure
payment APIs to ensure safe and seamless transactions. Implement
robust user logging and activity monitoring systems to detect and
prevent unauthorized access and fraudulent activities. It can be
implemented by creating detailed logs of user activities, capturing events
such as logins, password changes, account updates, and transaction
details, with each log entry including timestamps, user IDs, IP addresses,
and specific actions taken.
25
Chapter 6
CONCLUSION
In conclusion, the internship at Kr Techno Pvt. Lmt. has proven to be
an exceptional and enriching experience, providing valuable opportunities
to acquire knowledge in various technologies firebase integration, Android
App development, Database management, Java, and more. The exposure
to the software industry has offered valuable insights into its culture and
work environment, further enhancing professional growth.
The internship has served as a catalyst for acquiring important skills and
competencies relevant to the software industry. Among these,
time-management skills have emerged as essential for effectively handling
multiple tasks, meeting deadlines, and optimizing productivity. The
significance of teamwork capabilities and engaging in team discussions
has been underscored, emphasizing the value of collaboration, effective
communication, and the power of diverse perspectives in achieving
collective goals. Additionally, the experience has fostered self-motivation,
highlighting the need for proactivity, initiative, and continuous learning
in the face of challenges
In summary, the internship at Kr techno pvt. lmt. has provided an
exceptional platform for gaining technical expertise, understanding the
dynamics of the software industry, and developing crucial skills such as
time management, teamwork, and self-motivation. These experiences and
lessons learned will undoubtedly contribute to future success in the
software industry, while also serving as a foundation for personal and
professional growth.
26
CHAPTER 6. CONCLUSION
0cm
REFERENCES
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
27