Professional Documents
Culture Documents
Safe House App: Software Requirement Specification
Safe House App: Software Requirement Specification
Version 1.0
Category Information
Approver(s)
Issue Date 03/07/2020
Term Description
App Application
1. Purpose
This SRS document provides a complete description and details of all the functionalities, the
wireframes for mobile app of what is to be expected from the Safe House App, the web
services architecture, communication model between the real camera(s) and the technologies
that are to be used in order the develop the product. The developers will follow this document
for their milestones in this project, as It will illustrate the purpose and complete declaration for
the development of the system.
2. Document Status
The SRS document can be at different stages during its creation and further updating. Below
is the available status, which can be marked against this document.
4. User/Actor
The Camera Owner will be the primary actor that will be interacting with the Safe House App
over his/her mobile app. Non-Human entities would be Surveillance Camera.
5. Project Scope
The basic idea behind the Safe House App is to provide remote streaming to the end-user on
his mobile device having an iOS/Android as Operating System, from the security camera(s)
installed within his premises.
Internet
Safe House App will have a different set of functionalities available at the user’s disposal,
which are.
As depicted in the Block Diagram, 3 primary tiers will be within the product. The Application
tier is divided into two parts. Mobile Application Tier and Embed Application Tier. These two
tiers communicate with each other through the Logical Tier, which will be a Web Service to
perform routine operations. Within the logical tier, there will be video stream services that will
be implemented RTSP protocol, which is to ensure smooth transmission of the live and
recorded video stream. The Logic Tier web services in interconnected with the Database,
which is hosted in Database Tier.
Safe House
App
Surveillance
User
Camera
Remove a
Login
Camera
Camera
Setting
View
Recording
Take Image
Record Video
7. Project Requirement
The Safe House App is divided across different technology tiers, integrated to perform the
required user stories. This document will look into all aspects in order to provide an
understanding of how the App information flow works from one end to the other and vice
versa. To be precise, the overall functionality is divided into the layers, as defined below.
Each of the layers has its development using different technology stack and integrated.
Android Studio
Target SDK Version 29
xCode 9/10
Swift 3 / 4
iOS SDK 13 / 14
Below are the wireframes for Mobile App that will provide an overview of how the Camera
Owner will interact with the product. Each wireframe has a description of what it offers.
case. A producer can also send non-video data, such as audio feeds, images, or RADAR
data. Consumer, in this case, will be Safe House App that will access the Continuous
Consumer Service for live feed and Batch Consumer for recorded feed.
(1) Signup
(2) Login
(4) Adding Camera: Adding a camera will register the camera into the Amazon Kinesis
Stream Service. Against each camera, a unique token is provided by the service is to
be stored within the Database. This token is utilized to view the stream or view the
previous recordings by passing it to the Amazon Kinesis Stream Service.
(6) Delete Camera: Deleting a camera disassociates the token from Amazon Kinesis
Stream Service.
All the operations that are related to video streaming, i.e., view a live feed, view previous
recordings, transmitting audio to the camera from mobile app, getting camera parameters like
temperature and battery level will be handled through the streaming services which in this
product will be Amazon’s Kinesis Video Stream Services.
from devices to the AWS Cloud or build applications for real-time video processing or batch-
oriented video analytics.
The Safe House App will interact with the Kinesis Video Stream to
(3) View Live Feed: Kinesis Video Stream offers Continuous Consumer endpoint, which
will require the unique token provided by the service at the time of adding a camera.
With this token, the live feed of the camera will start appearing over the mobile app.
(4) View Recorded Feed: Kinesis Video Stream offers Batch Consumer endpoint, which
will require the unique token provided by the service at the time of adding a camera
along with video reference that could be a date and time stamp. With these
parameters, the recorded feed of the camera will start appearing over the mobile app.
A constraint here will be the SD Card storage availability within the camera. The Mobile
App will only have those timespans and date available against which the recording is
available within the storage.
(5) Receive Camera Parameters like Temperature and Camera Battery Levels.
(6) For recorded feed, information related to available recordings in terms of date and
timespan will be required to provide a navigation bar to the user in order to move back
and forth, as shown in [Figure 12: View Recording].
Figure 15: Safe House App interaction with Amazon Kinesis Video Stream
Response
Response
Open Account
Verification
Response
Response
Open Homepage
8.2 Login
Response
Open Homepage
Add Camera
User scans BR Code
User Logged In or
Already Enter Camera Serial
Number
Response
Open Homepage
with new Camera details
visible
Response
Response with Camera
Parameters
A similar sequence will be used for the Live Feed of all cameras. Instead of a single camera, the web
service will respond with all the camera parameters. The Safe House App will request the Kinesis Video
Stream for all the feeds against the camera parameters.
[Single Camera]
Pass on camera details/user id
User Logged In
Already Get Camera related details
Response
Response with Camera
Parameters
Response
Continous
Continous Camera Feed over RTSP feed as
in continouse cycle per SD Card
Play Audio
9. Activity Diagram
This activity diagram will give a bird’s eye view of what Safe House App will cover different
flows.
Start
Initial Screen
Enter Email /
Fill User Details
Password
Recieve Confirmation
Code over email
Enter Confirmation
Valid User
Code to verify
View Homepage
Open Camera
Successfully Added
Add a Camera View Recording View Feed View all Feeds User Menu
Settiings
Successfully Added
Scan QR Code Navigate throught User Camera Control Change Camera All available cameras
Date and Time to perform actions Settings feed displayed in
Control Grid
Unable to Add
Enter Serial Number
Save Recording / Click Save
Image of Recording
End
xCode 9/10
iOS App
Swift 3 / 4
[Apple iPhone Device]
iOS SDK 13 / 14
RESTful API
Web Services
Web Server: Apache Web Server
[Amazon API Gateway]
PHP 7.4.5
Database
[ Amazon Relational Database MySQL 5.1 or above
Service]