Vous êtes sur la page 1sur 17

SAMRAT ASHOK TECHNOLOGICAL INSTITUTE

VIDISHA, MADHYA PRADESH

DEPARTMENT OF COMPUTER SCIENCE

AND ENGINEERING

SESSION: 2018-2019

A PROJECT REPORT ON

“INSTAGRAM CLONE

APPLICATION”

SUBMITTED BY: ENROLLMENT NO:

JAY KUMAR LALWANI 0108CS161023

CSE 6th semester

JAY KUMAR LALWANI 0108CS161023


INSTAGRAM CLONE
APPLICATION

INDEX

1 INTRODUCTION
1.1 General Overview
1.3 Objectives
1.4 Features

2 SOFTWERE REQUIERMENT SPECIFICATION – FIREBASE


2.1 Software and hardware requirements…………………..
2.2 Firebase Introduction
2.3 Firebase Authentication
2.4. Firebase Realtime Database

3 DESIGN
3.1 Design specification……………….
3.2 Platform used
3.3 Working Flowchart

4 WORKING AND IMPLEMENTATION

4.1 User Authentication


4.2 Recycler view Implementation
4.3 Home Screen Implementation
4.4 Implementing LIKE functionality
4.5 Implementing COMMENT section
4.6 Notifications
4.7 Logging in and signing out

5 RESULTS AND CONCLUSION

JAY KUMAR LALWANI 0108CS161023


OVERVIEW

ABSTRACT

INSTAGRAM CLONE APPLICATION is an extremely


influential social media site designed to share videos and
photos. Any user can and share any photo and any video with
anyone, or only with a closed group of friends.
This type of social media site lends itself to the most incredible
display of creativity and beauty and, conversely, to the sharing
of inappropriate content.
When you post a photo or video on Instagram clone, it will be
displayed on your profile. Other users who follow you will see
your posts in their own feed. Likewise, you'll see posts from
other users whom you choose to follow hence we can interact
with other users on Instagram clone by following them, being
followed by them, commenting, liking, tagging and private
messaging. You can even save the photos on Instagram clone.
Instagram clone containing database(Firebase) can be used for
storage over remote computer of all the photos to be uploaded
on the application with likes an comments like additional
features.

JAY KUMAR LALWANI 0108CS161023


INTRODUCTION

1.1 General Overview

Instagram clone is an online mobile photo-sharing, video-sharing and social


networking service that enables its users to take pictures and videos, and share them
on a variety of social networking platforms.

The purpose of Instagram clone is to create a platform where people can share videos
and pictured with the world , network, for now or for the future.

Photograph Sharing: You can take pictures inside the application or use photographs
that as of now exist in your camera roll. You can give your photograph a title, which
is useful and fun. Photographs can be in a flash shared, on Instagram clone

1.2 OBJECTIVES: INSTAGRAM CLONE APPLICATION

Objectives of User Panel:


 Login
 Sign Up
 Home Screen
 Search Media
 Post Media (Pictures/Videos)
 Direct messages
 My Profile
 Settings
Objectives of Admin Panel:
 Login
 Dashboard
 User Manager
 Report manager
 Content Manager

JAY KUMAR LALWANI 0108CS161023


1.3 Features: INSTA APPLICATION PROJECT

Authorization with email & social media accounts: You must enable your app users to
signup/login into your app via various ways, consisting of mobile phone, email ID & social
networking accounts like Google+ & Facebook. This way, users can login into the app as per
their preference.
Activity Log: You can divide this feature into two sections: Your activity and your
follower’s activities.
Here users can also receive suggestions over whom they can follow and keep track on their
recent actions within the app. This feature will enable your app users to check the recent
activities they performed on your app, like comments on pictures, following/unfollowing
users, checking other users’ posts, and a lot more.

The follower’s activity feature must show entire information about what the app followers are
doing and also their exact time activity.

GPS Integration: Certainly your users enjoy travelling to places and often they want their
social media followers to know where they have visited. Thus, GPS integration is a must for
your photo-sharing mobile app.This feature is quite dynamic and allow users to automatically
fetch the location or they may also choose to add the location manually when there is poor
connectivity.
Social Media Integration:So, your user posted a picture on your platform. Now they may
also want to post this same picture on their other social media platforms as well. Thus,
synchronising feature can be really helpful here, as it will allow the users to share the picture
on other accounts as well.
Not just this, but this is also a great mean to promote your app, after all every new platform
requires promotion and nothing can be better than Facebook in this aspect. So, it is vital that
if not others, you at least must provide a Facebook integration. This will enable your users to
share their picture on your photo-sharing app and from their to other social media accounts
with a single tap.

This way not only you will build customer experience, but also promote your app by
leveraging the user-generated content on prominent social networking platforms. Can there is
a better win-win marketing gimmick?

Cross-platform Compatibility: As is the case with Instagram clone, it is a dedicated photo-


sharing app, which doesn’t run all its features on many desktops and operating systems. Thus,
it would be greatly beneficial to develop a fully-functional web app and also a mobile app.
This way, your smartphone camera will be important, but you can also code the app in a
manner that it will be able to access webcam as well to click a photograph.
Meanwhile, it can be used for purposes other than posting & sharing pictures, as you can
create this kind of app to help user in performing all actions using a web app, such as like an
image, comment on that, or even share it with a group, etc.

JAY KUMAR LALWANI 0108CS161023


User Profile: Your users will be able to maintain their entire profile, like detailed
description, such as name & email, following, followers and entire number of uploaded
pictures/videos, & tagged pictures.
Search: This feature will enable your users to search for another app user, may include
friends, family, relatives or anyone, simply using their username or name. In order to initiate
a search, users simply need click on search feature and enter the user name of the user’s
name.
Upload Pictures/Videos: Here the users will be able to upload photos & videos directly from
library or by using their smartphone’s camera. Following these few simple steps will enable
your users to upload many photos & videos.

2. Software Requirements Specification – FIREBASE


2,1 Software and Hardware requirements

The following are the Software and Hardware requirements are specified below:
MINIMUM SYSTEM REQUIREMENTS:
OS Windows 10 build version 15063.0 or higher
Architecture X64 Keyboard Integrated Keyboard
Mouse Integrated Mouse/Track pad
Required Memory 1 GB Video Memory
256 MB Processor Intel core 2 duo or higher/ AMD FX-8350
Secondary Storage 80 GB of hard disk/128 GB

SSD RECOMMENDED SYSTEM REQUIREMENTS:


OS Windows 10 pro version 1803
Architecture X64 Keyboard Integrated Keyboard
Mouse Integrated Mouse/Track pad
Required Memory 4 GB Video Memory
1 GB Processor Intel core i3 -4150/ AMD FX
Android Version above 4.1

2.2 Firebase Introduction


Firebase is a mobile platform from Google offering a number of different features that
you can pick ‘n mix from. Specifically, these features revolve around cloud services,
allowing users to save and retrieve data to be accessed from any device or browser.
This can be useful for such things as cloud messaging, hosting, crash reporting,
notifications, analytics.
In short, Firebase handles the backend online element for your apps, allowing you to
focus on the front-end UI and functionality. All this is done through a single SDK with
easy-to-use APIs and excellent integration into Android Studio. This removes the

JAY KUMAR LALWANI 0108CS161023


need to create your own server-side script using PHP and MySQL, or a similar set-
up. This is ‘Backend as a Service’ or ‘BaaS’, and essentially this means that anyone
really can make that ambitious social app. It works with Android apps, iOS apps and
web apps and best of all: it’s free.

2.3 Firebase Authentication

Firebase provides Authentication service that you can use

1. Authenticate users using Email/password or Google/Facebook/Twitter


/Phone (SMS) etc. social authentication.
2. It creates Identity for the users. Manages password resets. It lets you switch
between social auth to username/password.
3. Its integrated with Firebase, and other Google Cloud Services like Cloud
Storage. So you can easily enforce authorization rules based on the same
identity.
4. Provides an API so you can let it create token and use it in other services.

2.3 Firebase Realtime Database

The Realtime Database provides a flexible, expression-based rules language, called


Firebase Realtime Database Security Rules, to define how your data should be
structured and when data can be read from or written to. When integrated with
Firebase Authentication, developers can define who has access to what data, and
how they can access it.

JAY KUMAR LALWANI 0108CS161023


3. DESIGN
3.1 Design specifications
Analyse Client’s Requirements: When you have successfully discovered a photo-sharing
mobile app development company, and begin with the development process, you will first be
contacted by a sales representative who will try to understand your expectations and
requirements with the project and analyse your end-goal, all depending all the kind of photo-
sharing mobile app you are keen to get developed.
Designing: The UX designer in the app development team is assigned the task to take care of
interaction between the design elements whole UI designers is the one responsible to design
look & touch of the app through graphics, perfect color combination & iconography.
Development: It is this stage when the app development team will begin with the creation of
Instagram clone app with the necessary features and specifications.
Testing: This is the time when the app will be tested. Meanwhile, the main aim behind
testing is ensuring that your Instagram clone-like mobile app is bug-free and properly works
on the devices. For the final app approval, the stakeholders are involved too.
Deployment: This is the time when the photo & video sharing app will be finally deployed to
your server & then released on the app stores so that users can install them and start using.

3.2 PLATFORM USED

ANDROID STUDIO –IDE JAVA

JAY KUMAR LALWANI 0108CS161023


3.3 Working Flow Chart

JAY KUMAR LALWANI 0108CS161023


4 . WORKING AND IMPLEMENTATION
4.1 USER AUTHENTICATION

You can integrate Firebase Authentication with a custom authentication system by


modifying your authentication server to produce custom signed tokens when a user
successfully signs in. Your app receives this token and uses it to authenticate with
Firebase.

dd the dependency for the Firebase Authentication Android library to your module
(app-level) Gradle file.

implementation 'com.google.firebase:firebase-auth:16.2.1'

After a user signs in for the first time, a new user account is created and linked to the
credentials—that is, the user name and password, phone number, or auth provider
information—the user signed in with. This new account is stored as part of your
Firebase project, and can be used to identify a user across every app in your project,
regardless of how the user signs in as shown below –

JAY KUMAR LALWANI 0108CS161023


4.2 RECYCLER VIEW IMPLEMENTATION

The RecyclerView is a new ViewGroup that is prepared to render any adapter-


based view in a similar way. It is supposed to be the successor
of ListView and GridView, and it can be found in the latest support-v7 version.

To use a RecyclerView, you will need to work with the following:

 RecyclerView.Adapter - To handle the data collection and bind it to the


view
 LayoutManager - Helps in positioning the items
 ItemAnimator - Helps with animating the items for common operations such
as Addition or Removal of item

Using a RecyclerView has the following key steps:

1. Add RecyclerView support library to the gradle build file


2. Define a model class to use as the data source
3. Add a RecyclerView to your activity to display the items
4. Create a custom row layout XML file to visualize the item
5. Create a RecyclerView.Adapter and ViewHolder to render the item
6. Bind the adapter to the data source to populate the RecyclerView

JAY KUMAR LALWANI 0108CS161023


INSTALLATION

dependencies {
...
implementation 'com.android.support:recyclerview-v7:27.1.1'
}

4.3 HOME SCREEN IMPLEMENTATION

Home screen works over recyclerview and bottom navigation view using Firebase
as database.

JAY KUMAR LALWANI 0108CS161023


4.4 IMPLEMENTING LIKE FUNCTIONALITY

Source sample code for implementing LIKE functionality:

public void setLiked(Image image) {

if(!image.hasLiked) {

// add new Like

image.hasLiked = true;

Like like = new Like(image.key, fbUser.getUid());

String key = database.child("likes").push().getKey();

database.child("likes").child(key).setValue(like);

image.userLike = key;

} else {

// remove Like

image.hasLiked = false;

if (image.userLike != null) {

database.child("likes").child(image.userLike).removeValue();

JAY KUMAR LALWANI 0108CS161023


4.5 IMPLEMENTING COMMENT SECTION

Comment section is added inside each and every post for getting positive and negative
reviews by people.

A new Activity consists of Comments as header will be displayed which consists of all
the comments included as shown below:

4.6 PUSH NOTIFICATIONS

We’ll send a push notification remainder whenever some event occurs inside the app.

To be included:

implementation 'com.google.firebase:firebase-
messaging:15.0.2'

JAY KUMAR LALWANI 0108CS161023


In android Manifest file:

<service

android:name=".MyFirebaseInstanceIDService">

<intent-filter>

<action
android:name="com.google.firebase.INSTANCE_ID_EVENT"/>

</intent-filter>

</service>

4.7 LOG IN AND SIGN OUT

Log in Activity:

Log in Activity is used for any user which is already registered for an account.

If an user is not registered then it will redirect into create account page or warning is
given to it.

JAY KUMAR LALWANI 0108CS161023


Sign Out Activity:

This activity is used for temporarily closing the account.

Firebase provides Sign-out class directly for temporarily closing.

5. RESULT AND CONCLUSION

Why this application is so effective?


Instagram clone is a well known application. It has roughly 300 million clients' around
the world. The immense prevalence of the application has urged designers to
fabricate a clone application that looks like in usefulness to the Instagram clone
application. our organization has a specialist group that has involvement in making
exceedingly useful and easy to use applications. The designers are gifted to respond
to a call. They center around building the application such that it fulfills the individual
necessities of customers. We as of now have an application that encourages clicking
and distributing of photographs and furthermore enables clients to share them via
web-based networking media pages the application has some extra highlights that
can be utilized for altering and redoing the photos. This encourages clients to
change over the photos into vivacious methods of correspondence. Instagram clone
App has stunning built in features that allow clients to work with us. It keeps the
eagerness unblemished which is useful and propelling. As the organizations are
underscoring on giving online services it has turned into a pattern in this world driven
by forefront innovation. Now a days clients are utilizing such photograph sharing,
social media sites that supplies them with a creative thoughts.

Scope of Instagram clone in the future?

For its 400 million clients, Instagram clone is a vault for future recollections photos
and short recordings that offer a window into what's going on in the lives of their
companions, their networks and their universes. In any case, for Instagram clone
itself, which turned five today, photograph sharing has an alternate reason. The
future, prime supporter Kevin Systrom reveals to it will see its locale of clients meet
up to offer a continuous perspective on our general surroundings and, at last, to
change what that world resembles. Instagram clone was established in light of a
straightforward objective, to enable its makers to figure out how to share pictures of
what they were doing. After the item procured 25,000 clients in the 24 hours after its
dispatch, Instagram clone developed rapidly, to in excess of 150 million Turning that
thought into reality took a very long time of improvement, finishing in the June
dispatch of Instagram clone's new Explore include, which sorts out the stage's
substance by slanting hashtags and area seek. The Facebook-claimed organization
additionally enlisted a group of photograph editors and authors to minister the million
of pictures posted every day on the administration. We believe you can see the world

JAY KUMAR LALWANI 0108CS161023


happening in real time through Instagram clone, Because, at the end of the day,
there’s no better way to consume what’s happening in the world other than images
and video. And I think Instagram clone is a future for sharing and editing photos and
video app. As of late, notwithstanding, Instagram clone has been confronting
expanding rivalry from Snapchat and Periscope, two administrations that support
video over still pictures. And keeping in mind that Instagram clone clients are as of
now ready to share 15-second recordings, the organization is taking a gander at
growing its video highlights.

JAY KUMAR LALWANI 0108CS161023

Vous aimerez peut-être aussi