The database used in SoSporty
The database used in SoSporty There are many database systems to be used such as LevelDB and Couchbase Lite but they are compatible with android systems only. Since we are using both platforms and operating systems (android-IOS) for developing our application for the benefits and the convenience of our users. As our previous post mentioned. We will choose to produce and use SQLite as our database system since it is available in most mainstream programming languages. In addition, SQLite is included in both iPhone and Android operating systems. SQLite has many additional advantages since it is an open-source C library for managing relational databases that can be stored both on disk and in memory. It supports transactions, full-text search, single-writer/multiple-reader access, efficient range queries (useful when storing geographical data), and shared caching (across connections opened by a single thread to the same database). Ā you can create an SQLite database ...
Data storage
Data storage Our approach to data storage differs according to the operating system used with our SoSporty application. Android provides several options to save application data. Android provides 2 storage options for files ā Internal and External. Internal is private to the app. External is world readable and accessible to all. External can be a partition of the internal memory or a removable storage media (like an SD card) or both.Ā the different data storage options available on Android are: internal file storage: Store app-private files on the device file system. External file storage: Store files on the shared external file system. This is for shared user files, such as photos and videos. Shared preferences: Store private primitive data in key-value pairs. Databases: Store structured data in a private database. iOS Data Storage Everything in appās home directory is backed up, with the exception of the application bundle itself, the caches ...
Several technical choices in our software
Database: The database will be kept as a table format file in local sever, and the table will contains users' nickname, e-mail, age, etc, which should be kept safe and only can't be shown to other users only if user chooses to do that. Also, the table of users should contain columns named 'ParticipantScore' and 'OrganiseScore', which will show to other users in the profile, and this table should be changeable, cause the table data will change each time after each participants rate others after activities. (calculate the average) User Experience: We decided to have a welcome page to give users a brief introduction and direction to our app. And login button should be their to provide users an easy way to use, also, users can use google account or facebook account to login, so this two logos should just under the login button. We put the notification function in ...
Flow Chart of SoSporty – Process of Use
This is the flow chart of SoSporty which shows the using process. At first a new user needs to sign up and then log in. SoSporty is an mobile application which aims at the residents in Southampton thus after a user logged in, this app will automatically locate the current position of the user (if the user doesn't open the locating function, he won't be able to see the activities around him). On the main page of SoSporty, the user can see all activities showing as red pins which happen today around him. The user can view brief information by clicking on the pins. The user can also search for activities which attracts him and choose to join some. Of course he could also organize an activity by himself and then wait for others to join or invite his friends (if he has any) to join in. If he doesn't ...
System Architecture of SoSporty
This is the basic architecture of our application SoSporty. We are going to use the three-tier architecture to develop SoSporty, which is most frequently used in software development. The three tiers are presentation layer, business logic layer and database access layer. In the presentation layer, users can see all of the functional components such as buttons and navigation that has been beautified, which are called user interface(UI). In the business logic layer, there are back-end logics of SoSporty, which process the requests of front-end and determine the work flow of SoSporty. The database access layer is used to communicate with database which allows the developers to query and retrieve the data needed. This layer is the base of business logic layer because if there is no data, there is no business. The nature of business flow is the operation on database ...
UML – Use Case Diagram
The following diagrams are use case diagrams which shows the main functions of SoSporty. There are 5 diagrams here - register and login, search, view and join activities, create(organize) activities, add friends and edit profile. 1. Register and login Description: A new user needs to register first and then can log in. Otherwise the user can not see the main page of this app. If the user forgets the password, then he could retrieve and change it through email. 2.Ā Search, view and join activities Description: When a user has logged in, he can see the activities happening today near him on the map. The user can also search for the the activities which he is interested in by typing in key words in search bar or filtering the tags. Then he can see the detail of an activity. If he decides to join one activity, he then will be able ...
Database Design of SoSporty
The following chart is the basic design of database. We will use (at least*) eight tables to store data. There are strong relationships between different tables. User: User table is used to store users' information. GroupChatting: This table is used to store the chatting messages of an activity chatting group. Notifications: This table stores the notification that users can see on their devices. User-Activities: This table exists because the relationship between user and activity is many-to-many. This table reduces the redundant data. Friendship: This table is used to store the friendship between two users because SoSporty allows users to add friends. Activity: Activity table stores the basic information of activities. PrivateChatting: This table is used to store the chatting messages between two users. SportType: This table records the sports on SoSporty. * The reason to use 'at least' here is that the author is not sure if there is any ...
SQL vs NoSQL
In our application SoSporty, we would like to choose relational database. In this post I will put advantages and disadvantages of SQL and NoSQL. SQL: Strength: Easy to understand: two-dimensional table structure is a concept very close to the logical world. Relational model is relatively easy to understand; Easy to use: a common SQL language makes it very convenient to operate relational database; Easy to maintain: rich integrity (entity integrity, referential integrity, and user-defined integrity) greatly reduces the Ā probability of data redundancy and data inconsistency; Can be used for complex queries; Maturity and stability; Good compatibility. Weakness: Its read and write performance is relatively poor; A fixed table structure; High concurrent reading and writing requirements; High-efficiency reading and writing of massive data. NoSQL: Strength: Without parsing the sql layer, read and write performance is high; Based on the key-value pairs, the data is not coupled, easy to expand; The format ...
Android or IOS?
We are going to develop our application SoSporty on both android and IOS. This is because both android and IOS have a large number of users. The IOS and android are two different platforms and also have their own similarities. Here are some comparisons of android and IOS from technical aspect. Language Android: Java, C IOS: C, OC, Swift Environment: Android: JDK, android SDK, Eclipse/Studio, NDK IOS: Xcode Company: Android: Google IOS: Apple Design: Android:Ā easy to be changed to the preferable look IOS: cannot be changed, strict on customizing Online market: Android: Play Store and more IOS: Apple Store only ...