100% found this document useful (1 vote)
1K views22 pages

REPORT - Mobile App Development

The document describes an internship project to build an Android app called "Meet Up" that allows users to find others with common interests to chat with. The app enables users to create an account, add their interests and hobbies, and view and message other users who share similar interests. The project was implemented using both Android Studio and Flutter to allow for chat functionality and data storage on Firebase.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views22 pages

REPORT - Mobile App Development

The document describes an internship project to build an Android app called "Meet Up" that allows users to find others with common interests to chat with. The app enables users to create an account, add their interests and hobbies, and view and message other users who share similar interests. The project was implemented using both Android Studio and Flutter to allow for chat functionality and data storage on Firebase.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

EXPOSYS DATA LABS

INTERNSHIP
ANDROID APP DEVELOPMENT

Project Report on
“Meet Up”

Project Associates Email id Phone no

Sachin Singh sachin17120@gmail.com 8297449974

Abhishek Sharma 4nm18cs142@nmamit.in 9565160483


Abstract
The Android mobile platform has developed from its first phone in October
2008 to being the most popular smart phone operating system in the world by
2021. The explosive growth of the platform has been a significant win for
consumers with respect to competition and features. The market has been
booming in the past few years that, there are now over 3.48 million
applications on the Android market. Due to the wide usage, it is necessary to
provide users with security applications to manage the data in their personal
smart phones.
As the number of people using the mobile phone and application on them is
increasing exponentially , our dependency on mobile phone will further
increase and soon the desktop or might become out of date and everything
will be done on these mobile phone and this is happening currently. Also
android being the most famous mobile phone OS, building and knowledge of
android app becomes important.
The app called “Meet Up” that we have built enables us to find people with
common interests and talk with them using a messaging service which is inbuilt
in the application, as socialising is also an important aspect in life.
Table of Contents:

Page no.

1. ABSTRACT 2

2. INTRODUCTION 4

3. EXISTING METHOD 5

4. PROPOSED METHOD WITH ARCHITECTURE 7

5. METHODOLOGY 8

6. IMPLEMENTATION 9

7. CONCLUSION 22
INTRODUCTION
As we know the very wide use of mobile phone has helped us in many ways as
every single one of them is connected to internet and it becomes very easy for
one person to connect with another one for this we have built an app called as
“Meet Up” which based on the interests of people connects them together so
they can Chat and meet up.
They basic features of the app is the user has login facility i.e. he or she can
login using the email id, the app also has forget password feature in which if
the person forgets the password to his or her account they can just click the
forget password and enter their email id to which a reset link will be sent and
thus they can reset the password.
Next the user can choose their interests and hobbies and enter them and save
them.
Now based on the interests and hobbies the user can choose with whom they
want to talk and have a chat with them.
There also features like delete your account and logout from the app.
We have tried to implement the basic ideas of this app using 2 different
method i.e. one using android studio and other using flutter
In the android studio method we have created various xml file for front end
and java as mail language for backend, we have used firebase for storing
information and one signal for sending and receiving message
With flutter we have created different type of widget for designing our app
and for database service, we used firebase which also stores chat data as back-
end.
Existing method

Whether you move to a new town, start a hobby, enter a new phase of life, or just
want to make new friends, the web makes it easy to connect with people who
share similar passions.

Connecting with new people can help you get more out of life. You'll have a larger
support network that can appreciate your trials and victories. Additionally, if your
hobbies include staying in shape or eating well, surrounding yourself with others
who want to do the same is a great motivator.

Here are some sites and apps, from online groups for shared interests to hobby
apps, which help you connect with people with the same interests i.e. some
existing methods that already exist.

MeetUp (Web, iOS, Android)


"Find your people" is Meetup's slogan, and the site delivers on this promise. It
connects you with others who enjoy your interests by letting you search for groups
or events within five miles of your location using any of the site's categories or your
own terms.

This common interest’s website and its mobile app also let you start your own new
group. While it's free to create an account and join existing communities,
organizing your own meetups comes with fees.

Vingle (Web, iOS, Android)


If you just want someone to talk to at any given time without necessarily
meeting up, Vingle is a great option. When you join the platform, you choose as
many interests as you want. Then, your news feed brings up relevant posts and
members you can interact with.

It’s a social network, but one focused on connecting like-minded people. The
fact that it’s completely free makes it a gem among online groups for shared
interests. Chatting or getting advice about your favourite hobbies could not be
easier.
Patook (Web, iOS, Android)
Another free platform popular for people wanting to make friends is Patook.
You can access it through your phone or browser to start and build platonic
relationships based on common interests.

Patook works like a dating app. Its algorithm uses a point system, ratings, and
other factors to match similar individuals, who can then reach out to each other.
There’s also a beacon feature that lets you interact or meet up with users near your
location.

There are various other apps like tinder … which does almost the same things
which we have said above
Proposed Method with Architecture

We also have similar approach as above mention methods i.e. a user can
create the account and login and then put his profile picture and hobbies and
interests and find people with similar interests and chat with them if they want
to
To explain the Architecture better we will use a flow chart

As you can see basic functions of our app is user opens the app then he can
either login or sign up if he doesn’t already have an account and if the user has
forgot the password he can reset it now after login user can enter his/her
phone no or profile image and hobbies and interests and the a card will be
formed which shows all the details now user can either chat with him or reject
him if he chooses to chat with him he can do so.. and if the user deletes the
account or logs out hell move back to login page and after login a user can
anytime contact us or delete or logout.
Methodology

Agile Software Development Methodology is widely used in many projects as it


has many advantages. After gathering the project requirements, it is reviewed
frequently in the form of small iterations and made into action by executing it.
After completing tasks each iteration, it could be reviewed properly and moved
to next iteration. The main advantage of this methodology is that we can
change the requirements or design even in the middle of the project when the
situation arises. Also, code maintenance is easier in contrast to Waterfall
Approach. I have approached this project using agile methodology by applying
its principles. I have analysed the design requirements initially and planned to
execute them in the form of short iterations which are called “Sprints”. I tried
to execute the planned tasks of the iterations accordingly, but I could not able
to finish some of the tasks on that particular iteration and they are carried to
next sprint and are called “Product Backlogs”. Also, as mentioned, I have
changed some of the requirements for the convenience of the user interface
while developing the project which is the main advantage of this methodology.
Hence, for these reasons, I had decided to follow the principles of agile
methodology
Implementation

Programming Languages, IDE’S, Tools and Technologies used for this


Implementation

Java:
As the project is developing an Android Application, the default programming
language is Java. All Android applications are built using Java in Android Studio
or Eclipse or both. Java is a popular and widely used language throughout the
world. As mentioned in, Java is one of the powerful programming languages
like C, C++. Developed by Sun Microsystems which has many powerful features
as described below. After the development of C, C++, Java has come into
evolution by addressing their drawbacks. It is one of the open source projects
that could be easily installed in our machine. The language is also easy to learn,
understand and implement. Java is used in various kinds of applications like
Web, Desktop, Mobile, and Big Data. Many powerful features are supported by
Java including various libraries, application services, graphics library for 2D/3D
applications. The language is flexible enough to maintain code complexity, test,
implementation, integration and support. Apart from these, there are other
key features which make Java more special. It is object oriented programming
language, one of the important hierarchies in the programming languages
which is used to implement real time applications, it provides for code
reusability, it has a platform independence feature including any virtual
machines(Write Once Read Everywhere), as in no need to write the 20 code for
different OS as the Java Compliers convert the java source files to byte code
and this could be interpreted by any machine and the actual code is compiled
irrespective of any machine, OS. It is more secured as the compilers are
designed efficiently to figure out any kind of errors.

IDE’s, Tools and Technologies:


Android Studio:
Android Studio is exclusively designed for developing Android applications. It
consists of all Android SDK tools to design, develop, maintain, test, debug and
publish our app. The IDE is designed very efficiently which makes the
developer’s job easy. It also supports the IntelliJ IDE, the main idea behind this
IDE is that it automatically senses the variables, methods, classes, built-in
functions or it could be anything else when we press the first letter of it. Say,
suppose we declared few variables or methods that starts with an ‘S’, it
automatically senses everything that starts with an ‘S’ and makes suggestions.
It also supports Git as a version control system to maintain the app changes
and push them into github. All java files, layout files (for design) are integrated
into a single project easily. After the completion of project, the whole
application could be put as an .APK (Android Package) file, in which we can run
that APK file in any device and use the application.
Other main tools include Android SDK, ADB, and Gradle Build.

Android Software Development Kit (SDK):


One of the main tools used in developing android applications, as it packages
many core features into one SDK and it can be used in the application easily.
This helps us to avoid writing lot of code, and building applications faster.

Android Debug Bridge (ADB):


Android SDK uses ADB tool as a connection device which allows us to connect
the Android Devices or Emulator with the machine via USB. After developing or
while developing applications, we can connect with the device to check how
the application runs. Later, we can debug and run the applications.

Gradle Build:
Gradle Scripts are the recent feature that is added to Android Studio. It is
basically an automated build system which is used to automate the various
phases involved in designing an application that includes design, development,
test, debug, and publish. We need to configure the project and modules by
mentioning all the supported jar files, SDK’s, version name, level, compiled SDK
version, build tools version. To ensure that the developed app is compatible
with the testing device/emulator. Gradle is also similar to Ant and Maven
which helps in maintaining java projects (repositories).

Android Device Monitor:


If we want to access all the hidden files that are generated when we run the
application, we can use the monitor. We can select any project and explore the
files that are related to that project. But, as they are hidden files, we need root
permissions to access them. Suppose, if we run the app in device, we need to
root the device and run commands in adb shell to get permissions.

SDK Manager:
It is one of the main tools to maintain the updates of all the installed
components required to run the project. It also notifies us when the project is
not compatible with device or any other compatibility issues and to download
any component that is required.

AVD Manager:
It is used to create virtual devices of any desired API level to support higher
level SDK’s in case our device does not support. Using emulators to test the
application is difficult as it might be little slower when compared to real
device.

Google firebase:

Google Firebase is a Google-backed application development software


that enables developers to develop iOS, Android and Web apps.
Firebase provides tools for tracking analytics, reporting and fixing app
crashes, creating marketing and product experiment.

Firebase offers a number of services, including:

 Analytics – Google Analytics for Firebase offers free, unlimited


reporting on as many as 500 separate events. Analytics presents
data about user behaviour in iOS and Android apps, enabling better
decision-making about improving performance and app marketing.
 Authentication – Firebase Authentication makes it easy for
developers to build secure authentication systems and enhances the
sign-in and onboarding experience for users. This feature offers a
complete identity solution, supporting email and password accounts,
phone auth, as well as Google, Facebook, GitHub, Twitter login and
more.
 Cloud messaging – Firebase Cloud Messaging (FCM) is a cross-
platform messaging tool that lets companies reliably receive and
deliver messages on iOS, Android and the web at no cost.
 Real-time database – the Firebase Real-time Database is a cloud-
hosted NoSQL database that enables data to be stored and synced
between users in real time. The data is synced across all clients in
real time and is still available when an app goes offline.
 Crashlytics – Firebase Crashlytics is a real-time crash reporter that
helps developers track, prioritize and fix stability issues that reduce
the quality of their apps. With crashlytics, developers spend less time
organizing and troubleshooting crashes and more time building
features for their apps.
 Performance – Firebase Performance Monitoring service gives
developers insight into the performance characteristics of their iOS
and Android apps to help them determine where and when the
performance of their apps can be improved.
 Test lab – Firebase Test Lab is a cloud-based app-testing
infrastructure. With one operation, developers can test their iOS or
Android apps across a variety of devices and device configurations.
They can see the results, including videos, screenshots and logs, in
the Firebase console.
 Firebase offers a free plan with 1 GB of real-time database storage

OneSignal:
OneSignal is a service that enables push notifications, abstracting
details such as the platform the device is running on. With
the OneSignal plugin, Out Systems applications can send and receive
push notifications.
Now well show the implementation of app thorough android studio we had
made an app using android studio and flutter we’ll be showing both
implementation
Android studio
Both the xml file which handles the front end and java file which handles the
back end is given with the REPORT separately
All the app testing is done through emulators which are managed by avd
managers
First when you run the program the app is installed and an icon is created
called MeetUP

Click the icon to launch the app


And then you see a splash screen for 1 sec and then the login page comes
If you have an account login or click the don’t have an account signup button
Fill all the details and register you’ll receive an email asking to confirm your
account using a link and your account gets activated

Now you can login using the emailed and password

Now you’ll see the above things in the app and like and dislike button on the
bottom a profile settings option on top left a matches and chat button at right
top after login click the top left button for profile settings
Now fill in all your details and select hobbies and interests in drop down menu
which is totally customizable and a profile image needs to be uploaded and
then click confirm.

A card is formed in your name i.e. with interests and hobbies now other person
can see this they can either like or dislike it if they dislike it then new card is
shown of other people that have registered now if the like them then their
name is shown under matches section of top right corner and they can have a
chat with them.
Now there is also an option for logging out deleting your account or contact us
and you can choose any to perform the function you want to

Also if you forget your password after logging out just click on forget password
and a forget password link will be sent to you just click and reset the password
to login again
These are the various functionalities the app can perform now well explain the
implementation through flutter also
Using Flutter :

If you have an account login or click sign up button to register yourself.


After registering yourself,click setting icon to update your profit as shown
above. Then swipe left.
Here you will find other unknown person with their interest. If u r interested in
the person click heart icon. Now if same liked person also shows interest in
you, he/she also click heart icon. If both person like the same sport then they
will matched. Then swipe left again where you find matched person.

If u want to chat with the person, click chat icon on the left.
Click send button to send the message and back button to go back.
Conclusion
I have learned a lot from this project on how to develop Android Application
and publishing it in real time, use Web Services using firebase and onesignal.
As mentioned there exist various application which help find people with
common interests what we are trying to achieve here is combine the best
features of various existing features into the Meetup app that we have built
and an easy interface so that anyone can use it easily and find people with
common interest and have a chat with them.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy