Event Based Social Network

Event-based social network

Subtitle as needed (paper subtitle)

Varga Istvan

Department of Automation,

Technical University of Cluj-Napoca,

George Baritiu, no.26-28, Cluj-Napoca, Romania

[anonimizat]

Abstract—The article describes a social application which helps people to find the preferred company to speak, think about specified topics, do sports, or hang out with. The server application consists of a MySQL and a Tomcat platform. The client application is written to Android devices.

Keywords—Distributed system, Restfull services, Social network, Android

Introduction

In this days social networks are very popular. Kaplan and Haenlein defined social media as “a group of Internet-based applications that build on the ideological and technological foundations of Web 2.0, and that allow the creation and exchange of user-generated content” (Kaplan and Haenlein, 2010), have changed the life of people and companies alike [1]. According to Statista.com the biggest social environment has grown in every quarter from the establishment of a company. In March, 2016 the number of active users has reached the 1.65 billion and 1.51 billion users use the network from a smartphone or a tablet. Social networks makes communication between two people easier, no matter where they are. “Events” on Facebook are very often used, nearly every concert, shows, cultural and sportive events can be found on Facebook. The event can be private, public or secret. Public events can get to every user, which are interested by invitations or shares in groups and on the personal timeline. By private events only known users can be invited, but using public events we cannot filter who we spend the time with. Based on the above-mentioned functions, I developed an application and completed with two more functions, so the created event can arrive to the right, suitable users, which are close to each other and have the same interests.

State Of The Art

Distributed systems

.

REST vs. SOAP

.

System Design

User Interface

The UI (user interface) of Android application was designed to be as user friendly as possible, even the less experienced Android users can use it without any tutorial. Every design element is placed to be easily reached, without needing to look after it and the function of every element is obvious. Following the trends the user can be identified by Facebook email and password. After login the nearest events shows up within a predefined distance which can be modified in the settings menu. The menu is located on the top of the event screen, there are three buttons, where we can create a new event, open settings menu and view events where user is checked in. In the next scrollable horizontal bar we can filter the events by categories. The next element is a scrollable list, where appears the most important information of the events (event’s name, distance from the user, date when it was created and description). If an event is selected we can see its location on the map and we can navigate there by using our favorite navigation application. Below appears the events title, date when it takes place and description. There are two buttons, the first is to indicate the intention to participate and the second one is to remove the event, this appears only if we are the creator of event. Below appears the comments if there are, otherwise show that no one commented the event. The event can be commented by writing into the next textbox. The sign out button is located in the settings menu.

High level architecture

The High level architecture of the system is represented on the following figure:

The system has three main component. One server, database and unknown number of clients compose the system. The clients can connect to the server over the Internet. In this case the database and the server platform is on the same computer but it can be easily move to another location. The client – server communication is based on the TCP/IP (Transmission Control Protocol/Internet Protocol) network protocol.

The server is OS independent, it run on Windows or Linux as well as on Mac OS computers. The server program runs on Tomcat platform, Tomcat’s minimal system requirements are the following:

Minimum memory: 1 GB

Recommended memory: 2 GB for Windows platforms, 1 GB for non-Windows platforms

Minimum disk space: 250 MB

Recommended disk space: 500 MB

The server is connected to the internet in order to receive data from by client. The server interprets the data and accesses the database server as a client, the database server sends back a response data what the server interprets and provides the output to the client. The server supports multithreading, accordingly it can serve multiple clients simultaneously. The server application uses a multi-layered architecture, based on the “Law of Demeter (LoD) or principle of least knowledge”[16]:

The client must be an Android device which runs Android 4.1 (JELLY_BEAN) or newer Android version. The client communicates with the server over the internet via Wi-Fi or GPRS service. It gains location data via GPS.

The first layer is the presentation layer. This layer receives data sent by the client and forwards it towards the business layer. The business service layer is responsible for the data exchange between the presentation layer and the persistence layer. This layer also processes data, in order to the reduce client device’s resource usages, which is much less performant in the most cases. Usually here happens the encryption and decryption of data. The data access layer is where the communication with the MySQL database takes place.

UML diagrams

UML (Unified Modeling Language) is a standard visual modeling language for system developers and software engineers. The object oriented (OO) modeling method can be applied to describe the complexity of the real world. The UML is used to model business and other processes as well as to analyze, design and implement applications.

Use Case diagrams is used to represent how the system works. The Use Case diagram consists of actors and cases. The actor is an external entity of the system and the can interact with it. A case describes a function of the system or a service which can be used by another systems or by an external user. Cases are graphically represented by an ellipse which contains the name of the case. The name of the cases must be choose to be suggestive as possible in order to describe their accurate function. On Figure …, the use case diagram presents a graphical overview of the functionality provided by the Android application.

On Figure … we can see there are two actors in the system: the user of the Android device and the server. After starting the client application, the user can perform the login operation. After logging in with his Facebook account and connecting to the server, he can perform any other operations. All of the use cases are related to the user.

Sequence diagram represents the interactions and the messages direction between two or more entities. Figure … describes all the operations what the server can perform. At first, the user must authenticate in order to have access to other operations. The server checks if the entered username and Facebook id is present in the database, and it returns a response corresponding to the login succeed or not. The client’s GPS sensor must be turned on in order to get his location, in other cases the program will send an alert box and ask the user to turn it on if it isn’t and try it again. The next operation will be downloading all the categories present in the database and the events corresponding these distance from the user. From now the operations’ order depends only on the user. If the user wants to create an event his device send a request with the selected event’s ID for the server, the Controller entity sends it forward to the EventService entity, here the data is processed and sent to the EventDao entity. The EventDao entity sends a request to the database, which sends back all the existing information about that specific event. These information will be interpreted in the EventService entity and sent back to the client from the Controller entity.

The activity diagram describes the sequence of activities in the system, it show the workflow from the beginning to the end. It can detail occasions where parallel processing is possible in the execution of activities. The most used elements of an activity diagram are: activities, decisions, fork nodes, join nodes, initial nodes and final nodes.

Communication diagram or collaboration diagram represents the objects with association connectors between them paired with messages and an arrow which show the direction of the message. It is similar to the sequence diagram, but the main focus is on object relationships.

A database has the following properties: data is stored by rules, the system is capable to store data, the data sending and request is fast, data are also available parallel, the data can be handled safely. The main purpose of database is to store data reliably – be persistent – for long time and the retrieve time of information be fast. Relational databases are created following the principle of relational data model. Relational databases can be created, modified and deleted by relational database management systems. The continuous connection lines between the tables represent identifying relationships while the dashed lines represent non-identifying relationships.

Figure … shows the system’s database. The event table has an id which is unique for every single event. The events are not deleted from the database by default, they are stored for future statistics, this is why a “delete_flag” column is used to hide the expired events. The events table is in relation with categories, comments and users table. The user_event table stores the user’s intention of going or not going to an event.

Tests And Results

The testing process must be defined properly to identify the risk of concern.

The system was tested in the following conditions:

The server was a laptop with an Intel i5 dual-core processor, 8 GB of RAM and 240 GB of SSD memory with 540 MB/s reading and 520 MB/s writing speed.

Two Android devices were used. One was a Samsung Galaxy Ace 4 with 512 MB of RAM and Android 4.2 (KitKat), this device connected to the server using Wi-Fi connection additionally the second device was a virtual one emulating a Nexus 5X with 1 GB RAM and Android 6.0 (Marshmallow). The latter device was used for testing most of the time and the Samsung device in the final stages of developing to reduce the compatibility errors and verify the real user experience with an entry level phone.

To make sure that the system is working properly, the following test were performed:

Android performance testing

On the startup the application consumes approximately 1.80 MB RAM, but after login it goes up to 5 MB. On some activities where appears Google Map fragments the memory usage reaches 20 MB RAM, but after closing those activities it comes back to the initial 5 MB RAM usage. After 10 minutes of testing the RAM usage is still constant, this means there are no major memory leaks.

Figure … shows the loading speed of different activities measured in Android Studio. The total loading speed of the login activity is 1.643 milliseconds, the event list’s activity loads in 7.819 milliseconds and the event creating activity in 6.183 milliseconds. The results are below the 0.1 second limit, users can feel like their actions are instantaneously manipulating the application.

Server performance testing

The server’s load testing was performed used Apache JMeter. The test simulates 100 user requesting data from the server in the same time. The following HTTP request was sent: localhost:8080/geteventbycat?dist=100000&lat=22&long=55&userid=1&catid=1&deleteFlag=false. The average response time was 13 milliseconds, but the longest time was 35 milliseconds.

Acknowledgment (Heading 5)

The preferred spelling of the word “acknowledgment” in America is without an “e” after the “g.” Avoid the stilted expression “one of us (R. B. G.) thanks …”. Instead, try “R. B. G. thanks…”. Put sponsor acknowledgments in the unnumbered footnote on the first page.

References

The template will number citations consecutively within brackets [1]. The sentence punctuation follows the bracket [2]. Refer simply to the reference number, as in [3]—do not use “Ref. [3]” or “reference [3]” except at the beginning of a sentence: “Reference [3] was the first …”

Number footnotes separately in superscripts. Place the actual footnote at the bottom of the column in which it was cited. Do not put footnotes in the reference list. Use letters for table footnotes.

Unless there are six authors or more give all authors’ names; do not use “et al.”. Papers that have not been published, even if they have been submitted for publication, should be cited as “unpublished” [4]. Papers that have been accepted for publication should be cited as “in press” [5]. Capitalize only the first word in a paper title, except for proper nouns and element symbols.

For papers published in translation journals, please give the English citation first, followed by the original foreign-language citation [6].

Andreas M. Kaplan, Michael Haenlein, "Social media: back to the roots and back to the future", Journal of Systems and Information Technology, Vol. 14 Iss: 2, 2012, pp.101-104 http://www.emeraldinsight.com/doi/full/10.1108/13287261211232126

I.S. Jacobs and C.P. Bean, “Fine particles, thin films and exchange anisotropy,” in Magnetism, vol. III, G.T. Rado and H. Suhl, Eds. New York: Academic, 1963, pp. 271-350.

K. Elissa, “Title of paper if known,” unpublished.

R. Nicole, “Title of paper with only first word capitalized,” J. Name Stand. Abbrev., in press.

Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, “Electron spectroscopy studies on magneto-optical media and plastic substrate interface,” IEEE Transl. J. Magn. Japan, vol. 2, pp. 740-741, August 1987 [Digests 9th Annual Conf. Magnetics Japan, p. 301, 1982].

M. Young, The Technical Writer’s Handbook. Mill Valley, CA: University Science, 1989.

Similar Posts

  • Întreținerea și Repararea Mașinii de Rectificat Plan

    Proiect pentru examenul de de certificare a competențelor profesionale Filiera:Tehnologica Profilul:Tehnic Întreținerea și repararea mașinii de rectificat plan Cuprins 1.Introducere………………………………………………………………………………………………………….4 2.Generalități………………………………………………………………………………………………………….5 3.Mașini de rectificat………………………………………………………………………………………………..6 4. Masina de rectificat plan cu avans electromecanic PBP-400A………………………………………..7 4.1 Factori care contribuie la uzura pieselor componente a utilajelor……………………….9 5.Mașini de rectificat plan…………………………………………………………………………….12 5.1. Masini de rectificat plan orizontale…………………………………………………….14 5.2. Mașini…

  • Implementarea Unui Sistem Informatic Integrat de Tip Call Center

    === Implementarea unui sistem informatic integrat de tip call center === CUPRINS Introducere Prezenta lucrare reprezintă un studiu privind sistemele informatice integrate în întreprindere, subliniind totdata rolul acestora în informațizarea managementului producției si serviciilor. În lucrare sunt prezentate principalele tehnici și tehnologii de analiză și dezvoltare a sistemelor informatice, insistându-se pe implementarea sistemelor integrate folosite…

  • Contabilitatea Si Analiza Veniturilor, Cheltuielilor Si Rezultatelor la O Societate Comerciala

    === c91ede45d7791752cc659eda5687bb0a8b5b9ed4_364881_1 === Cuрrinѕ Intrοducеrе…………………………………………………………………………………………………………….4 CΑРIТΟLUL I DEFINIȚII ȘI DELIMIТĂRI PRIVIND CОNТАВILIТАТEА VENIТURILОR, CHELТUIELILОR ȘI REΖULТАТELОR……………………………………………………………..6 I.1 Vеniturilе…………………………………………………………………………………………………………..7 I.2 Cһеltuiеlilе……………………………………………………………………………………………………….13 I.3 Rеzultɑtul finɑnciɑr…………………………………………………………………………………………..20 CАPIТОLUL II CОNТАВILIТАТEА VENIТURILОR, CHELТUIELILОR ȘI REΖULТАТELОR……………………………………………………………………………………………….25 САРIΤΟLUL III SТUDIU DE CАΖ LА Ѕ.С. IСΟЅ Ѕ.А. ………………………………………………………………….44 III.1 Dɑtе gеnеrɑlе…………………………………………………………………………………………………44 III.1.1 Ѕϲurt іѕtοrіϲ Ѕ.С ”IСΟЅ” Ѕ.А……………………………………………………………………..45 III.2 Ѕtruϲturɑ οrgɑnizɑtοriϲă………………………………………………………………………………….48 III.3 Рrіnϲірɑlеlе рrοduѕе…

  • Apiterapia

    Introducere Apiterapia este terapia tradițională care folosește mierea, polenul, lăptișorul de matcă, propolisul, veninul albinelor și alte produse ce țin de complexa alchimie a stupului, în vederea obținerii sănătății corpului omenesc. ( Apiterapia – Marian Niță, Laurențiu Dinu, Camelia Mitea – Editura Aius 2003 ). Mierea reprezintă produsul de bază pe care îl furnizează apicultura…

  • Aplicatie Pentru Gestiunea Resurselor Umane Si Informatice Dintr O Companie It

    ACADEMIA DE STUDII ECONOMICE BUCUREȘTI FACULTATEA DE CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ ECONOMICĂ LUCRARE DE DISERTAȚIE Coordonator: Conf. Dr. Ion Lungu Absolvent: Dan – Virgiliu Neacșu BUCUREȘTI, 2016 ACADEMIA DE STUDII ECONOMICE BUCUREȘTI FACULTATEA DE CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ ECONOMICĂ APLICAȚIE PENTRU GESTIUNEA RESURSELOR UMANE ȘI INFORMATICE DINTR-O COMPANIE IT Coordonator: Conf. Dr. Ion Lungu Absolvent:…

  • Conceperea ȘI Testarea Unui Chestionar ÎN Vederea Studierii Deciziei DE Achiziționare A Materialelor DE Construcții

    CONCEPEREA ȘI TESTAREA UNUI CHESTIONAR ÎN VEDEREA STUDIERII DECIZIEI DE ACHIZIȚIONARE A MATERIALELOR DE CONSTRUCȚII (BCA ȘI ȚIGLĂ) ISTORICUL ȘI DESCRIEREA COMPANIEI ELPRECO 1.1. ISTORICUL COMPANIEI ELPRECO Elpreco are o experiență de peste 40 de ani în producerea materialelor pentru construcții din beton și este unul din liderii pieței romanești de profil. Firma înțelege această…