InvestSaathi Mobile Application
Cross-Platform Mobile Application Development
Using
React Native
1
Created By : Pratim Dutta
USN : 1MS18MCA24
Internal Guide : Chethan Venkatesh
External Guide : Prateek Saraf
About Company
InvestSaathi is a platform run by IIM Alumni. The company is on a mission to make buying financial products easy, fast and transparent in India.
Focused on keeping their customer needs ahead and implementing new techniques to the financial sector with their easy to use platform.
Their vision is to up-skill every individual Indian (with the tools, techniques and framework available) to institutional and large investors.
Company Official Website : www.investsaathi.com
2
Contents
3
Introduction
4
Introduction
As we know there are various investment application in the market such as IIFL Markets, Zerodha Kite, Groww, Upstox etc.
The above mentioned mobile application does have all the necessary investment application features but these applications are not investor advisory oriented.
These apps lack the basic features of the investment advisory companies such as connecting to the clients personally, handling new/existing clients, giving personal curated advises, sending new info about company offers, news and updates, sending private/public notifications and many more.
The InvestSaathi Mobile Application is being made to overcome all the above mentioned problems and requirements.
5
Problem Definition
Introduction
6
Methodology
The methodology used in the project is the Waterfall Model. It is also referred to as a linear-sequential life cycle model.
Existing System
7
Existing System
Limitations of existing system:
8
Proposed System
9
Proposed System
10
Working
Proposed System
Pros of proposed system:
11
System Configuration (Software)
Software Configuration used:
Operating System : Windows 10 Pro (64-bit)
Source-code editor : Visual Studio Code (v1.58.2)
Application Server : Expo CLI & Expo Go (SDK 40.0.0)
Database : Realtime Database by Google Firebase (v8.3.2)
Framework : React Native (v0.64)
Browser : Name: Google Chrome
Source: google.com/chrome
Version 90.0.4430.212 (Official Build) (64-bit)
12
System Configuration (Hardware)
Hardware Configuration used:
Processor : Intel(R) Core(TM) i5-8250U CPU
Speed : 3.4GHz Quad Core
RAM : 8GB DDR4 2400Mhz
Hard Disk : 1TB
Keyboard : Standard Laptop Keypad
Mouse : Standard Laptop Mousepad
Monitor : PnP 60Hz Built-in Display
13
Tools & Technologies Used
Tools Used:
Android Application Environment : Android Emulator
iOS Application Environment : iOS Simulator
Google Authentication key : OAuth client ID
Expo Build : APK & IPA files
Technologies Used:
React Native (v0.64)
Google Firebase CLI (v9.12.0)
Expo (SDK v40.0.0)
14
Application Operational Configuration Requirement
Minimum requirement to run the mobile application smoothly:
Operating System : Android OS/iOS
Android Version : Android 8.0 or above
iOS Version : iOS 13.0 or above
Processor : Snapdragon 500/A12 or above
RAM : 2GB – 4GB RAM
Disk Space : 200MB of available minimum space
15
Software Requirements Specification(SRS)
16
Product Scope
Software Requirements Specification(SRS)
Product Functions
1) Authentication Screens : This module consist of three parts i.e.
a) Login Screen:
This screen gives user the access to the app with the help of user’s credentials i.e. by using their Email and Password.
b) Sign up Screen:
This screen helps user create a new account. If the user is new and does not have an account, the new user can create an account by providing a valid email address and a password.
c) Log in with Google:
This is an extra option that is provided in the login screen. With this option, if a user does not have an account and finds signing up as a long process, the user can click directly on “Log in with Google” and log in to the app through the google authentication process with the help of their google account.
17
Overall Description
Software Requirements Specification(SRS)
Product Functions
2) Authentication State :
The app maintains the authentication state of the user. This means that once the user is logged in either by normal log in process or by log in with google process, the user state is kept as logged in even if when the app is killed and reloaded again. The user is logged out only when the user themselves logs out of the app.
18
Overall Description
Software Requirements Specification(SRS)
Product Functions
3) Main Screen :
After proper authentication process is done, this module loads and stacks up all the screens together for easy & quick navigation to different screens. It contains the following modules:
a) Navigation Sidebar Button
b) Navigation Sidebar Menu
c) Home Screen
d) Notifications Screen
e) Profile Screen
f) FAQ Screen
g) About Screen
h) Logout Screen
19
Overall Description
Software Requirements Specification(SRS)
User Classes and Characteristics
The admin is responsible for handling and managing the user’s data. He can track the clients, issue notifications to all or particular clients and assign investors to the clients.
Clients will access the app by signing up to new or logging into the existing account. Client will have access to all the modules in the app. Client can make further decision on his own by viewing it.
20
Overall Description
Design
21
USER
Email & Password
Login
Login with Google
APP
User Authentication Architecture
Design
22
Realtime Database
Admin
Client
Firebase
API
Admin Panel
Data System Architecture
Design
23
User Login
Check
Authorized User
Unauthorized User
Home
Profile
Notification
Log Out
About
FAQ
yes
no
Process Flow Design
Design
24
Navigate Screens
Client
Sign Up
Log In / Log Out
Receive Notification
FAQ
About
Edit/Update Profile
Use Case Diagram (Client)
Design
25
Send Notification
Admin
Create/View User
Add New FAQs
Add/Modify About Details
Check Opened Notification
Use Case Diagram (Admin)
26
Design
Activity Diagram
27
Receive Notifications
Register Account
InvestSaathi
Mobile
Application
CLIENT
ADMIN
Send Notifications
Get Clients Details
Check Profile Details
View Notifications
Edit/Update Profile Details
Design
Data Flow Diagram
DFD Level 0 /Context Diagram
28
Design
Data Flow Diagram
DFD Level 1 Diagram
Implementation/Coding
29
Implementation/Coding
30
Pseudo code for InvestSaathi Signup:
Implementation/Coding
31
Pseudo code for InvestSaathi Login:
Implementation/Coding
32
Pseudo code for Log in with Google:
Testing
33
Testing Strategies
Testing
34
Test Case
Test Case No | Test Case Name | Test Case Description | Inputs | Expected �Result | Actual�Result | Status |
1 | Login�Test#1 | Login test with invalid password | Email id with incorrect password | Login failed | Login failed | Pass |
2 | Login Test#2 | Login test with invalid email id | Incorrect email id with password | Login failed | Login failed
| Pass |
3 | Login Test#3 | Login test with empty email id and password | Leave two fields empty | Login failed | Login failed | Pass |
4 | Login Test#4 | Login test with valid email id and valid password | Valid email id and valid password | Login successful | Login successful | Pass |
Login Screen Test Cases
Snapshots
35
Snapshots
36
Snapshots
37
Traditional Backend Vs Firebase
38
Firebase is a Backend-as-a-Service(BaaS). It is a next-generation app-development platform based on Google Cloud Platform.
Some main services are: real-time database, user authentication, push notification, analytics, hosting and more.
Google Firebase
39
Firebase Cloud Messaging
40
Expo Push Notification Tool API
41
Snapshot
42
Snapshots
43
Notification Details Screen
44
Sidebar Menu
45
Profile Screen
46
Profile Edit & Update Screen
47
FAQ Screen
48
About Screen
49
Conclusion
50
Future Enhancement
51
52
Introduction
53
Understanding Requirement
Requirement Analysis
Design
Implementation
Testing
Deploying
Testing
Change
Or
Maintenance
Review
Software Development Life Cycle (SDLC)
Design
54
Realtime Database
Admin
Client
Firebase
API
Data System Architecture