Social interaction has been the greatest social shift since the modern upset, drawing in huge number of individuals, making a consistently extending social web, and reforming the manner in which we impart. Yet many changes have occurred since the youth steps of casual correspondence and what it has formed into today, improvement is an endless cycle. Along these lines, in our task, extra strategies will be investigated to propel person to person communication generally. Web-based entertainment is a vital figure investigating present day culture in general, their qualities, standards, and ways of behaving, just like a piece of our regular day to day existence. It gives a phase where associations can get various crowds from all interests and sidestep different troubles like time, accessibility, openness, and distance of reach. The area is developing at a marvelous-rate.
Introduction
I. INTRODUCTION
The Purpose of the project is to develop an android application for social networking purpose by integrating various features like chatting, sharing media and posting tweets. The main purpose of this application is retaining the quality of image and video at both sender’s and receiver’s side. And experiencing the real-time complications involved while developing an application.
Social networking has been the biggest cultural shift since the industrial revolution, attracting millions of people, creating an ever-expanding social web, and revolutionizing the way we communicate. Although many changes have occurred since the fledgling steps of social networking and what it has evolved into today, improvement is a never-ending cycle. Thus, in our project, additional methods will be explored to advance social networking overall.
II. PROPOSED SYSTEM
Where we propose an efficient and quality file sharing feature in the application and we integrate other features like uploading current status of their interests, getting updates about the current NEWS and gossips and a video sharing feature named SNIKS. With these interesting features a user can have all the fun he need in the world and gives them an amazing experience while using the application. With a unique user interface and uncompromising features we promise a quality communication among the people which is the most focused requirement of users
A. Firebase-Core
The firebase_core plugin is responsible for connecting your Flutter app to your Firebase project. The plugin must be installed and initialized before the usage of any other FlutterFire plugins. It provides basic functionality such as: Creating Secondary Firebase App Instances. Firebase-Auth Firebase Authentication provides backend services for easy use the SDKs and inbuilt UI libraries to authenticate the user in the application. Most of the apps need the identity of the user, and after knowing their status, the app saves the user's data securely in the cloud. It supports authentication using passwords, phone numbers, popular federated identity providers like Google, Facebook and Twitter, and more.
B. Play-Services-Auth
In simple terms, Google Play Services is a background service that runs on Android, which in turn helps in integrating Google’s advanced functionalities with other applications. It is also used to update Google apps. Google’s fragmentation issue is tackled using Google Play Services. It ensures that even older versions of Android enjoy the latest features provided by Google. If you view the App permissions for Google Play Services, you will see that it asks for a lot of permissions to access body sensors, calendar, camera, contacts, microphone, phone, SMS, and storage. It needs so many permissions because Play Services acts as a hub where other apps rely upon for security services provided by Google.
C. Firebase-Database
Firebase Realtime Database is a Cloud hosted database, i.e. it runs on a cloud and access to the user is provided as a service. It stores data in JSON (Javascript Object Notation) format, a format to store or transport data. All the users connected to it can get access to the data at Real Time.
Real Time: Due to the Data synchronization used in Real Time, every update is received by the devices/clients in no time.
2. Large Accessibility: The Firebase Realtime Database can be accessed from various platforms like Android, iOS, Web. So, you need not write the same code for different platforms a number of times. No Application Server: There is no need for application server here because the data is directly accessed from the mobile device. Control access to data: By default, no one is allowed to change the data in the Firebase Realtime Database but you can control the access of data i.e. you can set which user can access the data. About JSON Structured Data: The data stored in the Firebase Realtime Database is JSON structured i.e. the entire database will be a JSON tree with multiple nodes. So, unlike SQL database, we don't have tables or records in the JSON tree. Whenever you are adding some data to the JSON tree, then it becomes a node in the existing JSON structure with some key associated with it. So, all Firebase Realtime Database data is stored as JSON objects. Firebase-UI FirebaseUI is a set of open-source libraries for Firebase that allow you to quickly connect common UI elements to the Firebase database for data storage, allowing views to be updated in realtime as they change, and providing simple interfaces for common tasks like displaying lists or collections of items. Additionally, FirebaseUI simplifies Firebase authentication by providing easy to use auth methods that integrate with common identity providers like Facebook, Twitter, and Google as well as allowing developers to use a built in UI for ease of development.
By using this library the code which we require for integrating any specific authentication reduces and it will become easier for user authentication flow.
Using this library we can use multiple authentication providers at a time inside our apps such as email and password, Facebook, phone, Google, and many more.
Using this library you will be able to safely link user accounts for different identities.
III. PROJECT OVERVIEW
Here in this project instead of using the traditional way i.e. creating a separate database server, authentication server and linking with the main application we use separate third party cloud platform called Firebase which has its own authentication server which is directly linked with database server, storage server etc. Google Cloud module: Provides a container for your Google Cloud backend code. This module has the required code and dependencies for a Java App Engine backend that uses simple HTTP, Cloud Endpoints, and Cloud Messaging to connect to our app. We can develop our backend to provide cloud services as our app needs.
A. Sequence Diagram
Sequence diagram simply depicts interaction between objects in a sequential order i.e. the order in which these interactions take place. We can also use the terms event diagrams or event scenarios to refer to a sequence diagram. Sequence diagrams describe how and in what order the objects in a system function. The diagram is helpful in understanding the life time of each activity and feature implementation. This sequence is crucial to satisfy the user requirements as the efficient application should work at right time and also for right period of time.
Conclusion
In this project, we learnt about how a real time chatting application works and we were able to establish connection between our app and cloud platform (firebase) Apart from that, we learnt how to design the architecture of entire application from scratch by integrating several features. Our work has solved our problem statement and going to become a userfriendly social media application to connect people by providing features like one-on-one chatting, sharing current statuses, updates about NEWS, video sharing (Sniks) In addition to these amazing features we are looking forward to implement much more advancements like group chat and many more. As it is a social media application there is a large scope of audience who would love to experience some exciting user-experience. We promise a never before user experience and also an uncompromising quality in sharing data.