1 of 54

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

2 of 54

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

3 of 54

Contents

  • Introduction
  • Problem Definition
  • Methodology
  • Existing System
  • Proposed System
  • System Configuration(Software/Hardware)
  • Tools & Technologies Used
  • Application Operational Configuration Requirement
  • Design
  • Implementation/Coding
  • Testing
  • Snapshots
  • Conclusion
  • Future Enhancement

3

4 of 54

Introduction

  • Many companies build their mobile applications to expand their business and unlock market reach like never before.

  • Mobile apps make customer service a simpler and more efficient process for companies as more and more users are looking to get things done virtually from anywhere.

  • Without a mobile app, a company misses out on a big chance to attract potential customers, no matter how near they are.

4

5 of 54

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

6 of 54

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.

7 of 54

Existing System

  • In the existing system, investment advisors of the company connects with their clients through the traditional method which is manually over phone calls, text messages or emails.

  • New users have to search InvestSaathi’s email, help desk no. or owners contact no. and then need to speak about the advisors.

  • After the consultation is done clients have no idea of the status of their issues. The existing user/clients also uses the same traditional method for consultation purpose.

  • Even to acknowledge any new update from the company the client has to check their mails regularly or else has to go through the manual consultation process.

7

8 of 54

Existing System

Limitations of existing system:

  • It consumes a lot of time for both the advisors and the clients.

  • While calling for consultation purpose, every time the clients has to give their introduction and details.

  • The company cannot send any information to the clients without contacting.

  • The clients cannot acknowledge any new update from the company without consultation.

  • The clients has to wait for a call to know about new or existing status update.

  • Clients might me busy when the advisors make a call to them.

  • Clients may not check emails regularly.

8

9 of 54

Proposed System

  • The app in general will include general investment app features as well as some company related features along with some additional features.

  • Here in this application the customer is allowed to connect through their InvestSaathi account or their Google account.

  • The key mission of online client managing is to reflect client satisfaction and revenue gains.

  • The proposed system aims to even out workflow and reduce the thronging of clients. It allows clients to connect easily and get personal curated advises.

  • Clients can also check FAQ’s for app issues as well.

9

10 of 54

Proposed System

  • A client will be able to create a new account, or login through an existing account to use the app.

  • Initially while creating a new account the app will collect & maintain client's email id, first name, last name, login type, and current date & time of account creation.

  • Last logged in date & time will be collected for existing users.

  • The app may also pull in other information provided by the company, such as recent news about the company's activity as a form of notification.

10

Working

11 of 54

Proposed System

Pros of proposed system:

  • It will consume less time as compared to the existing traditional method for both the advisors and the clients.

  • The company can send any information to the clients without manually contacting them through the newly introduced notification system.

  • The clients can acknowledge any new update from the company through the app without consultation.

  • The clients does not need to wait for a call to know about new or existing status update.

  • Clients can open and check the app in their mobile device whenever they want in their free time.

  • Clients can log in from both Android OS and iOS platform devices.

  • Clients can log in from multiple devices and the authentication state will be maintained.

11

12 of 54

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

13 of 54

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

14 of 54

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

15 of 54

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

16 of 54

Software Requirements Specification(SRS)

  • InvestSaathi Mobile Application means maintaining, managing, advising and solving the client’s investment problems. To provide a great personal and convenient way to connect the investment advisors to the clients.

  • The product will be the company's own app to be offered to the clients. The motive is to provide an easy way for end-users to instantly access company details and simultaneously keep them connected and stay up to date.

  • The app will also pull in other information provided by the company, such as recent news about the company's activity, recent accomplishments and other latest news.

16

Product Scope

17 of 54

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

18 of 54

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

19 of 54

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

20 of 54

Software Requirements Specification(SRS)

User Classes and Characteristics

  • Admin:

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.

 

  • Client:

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

21 of 54

Design

21

USER

Email & Password

Login

Login with Google

APP

User Authentication Architecture

22 of 54

Design

22

Realtime Database

Admin

Client

Firebase

API

Admin Panel

Data System Architecture

23 of 54

Design

23

User Login

Check

Authorized User

Unauthorized User

Home

Profile

Notification

Log Out

About

FAQ

yes

no

Process Flow Design

24 of 54

Design

24

Navigate Screens

Client

Sign Up

Log In / Log Out

Receive Notification

FAQ

About

Edit/Update Profile

Use Case Diagram (Client)

25 of 54

Design

25

Send Notification

Admin

Create/View User

Add New FAQs

Add/Modify About Details

Check Opened Notification

Use Case Diagram (Admin)

26 of 54

26

Design

Activity Diagram

27 of 54

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 of 54

28

Design

Data Flow Diagram

DFD Level 1 Diagram

29 of 54

Implementation/Coding

  • The project is being implemented using Google Firebase for both as the database and the backend whereas React Native as the frontend.

  • To implement and run the project code we require Expo, Expo CLI and Expo Go.

  • When we run npm start, Expo CLI starts Metro Bundler, which is an HTTP server that compiles the JavaScript code of the app using Babel and serves it to the Expo Go app.

29

30 of 54

Implementation/Coding

30

Pseudo code for InvestSaathi Signup:

31 of 54

Implementation/Coding

31

Pseudo code for InvestSaathi Login:

32 of 54

Implementation/Coding

32

Pseudo code for Log in with Google:

33 of 54

Testing

  • In React Native application development we use physical mobile device and device emulator.

  • Android SDK consists of a virtual mobile device emulator which helps to test the application without having a physical device and it provides mostly all functionalities of a typical physical mobile device.

  • Through an alternative method, we can also run and test the application with the help of Expo Go application.

33

Testing Strategies

34 of 54

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

35 of 54

Snapshots

35

36 of 54

Snapshots

36

37 of 54

Snapshots

37

38 of 54

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.

39 of 54

Google Firebase

39

40 of 54

Firebase Cloud Messaging

40

41 of 54

Expo Push Notification Tool API

41

42 of 54

Snapshot

42

43 of 54

Snapshots

43

44 of 54

Notification Details Screen

44

45 of 54

Sidebar Menu

45

46 of 54

Profile Screen

46

47 of 54

Profile Edit & Update Screen

47

48 of 54

FAQ Screen

48

49 of 54

About Screen

49

50 of 54

Conclusion

  • The application helps to manage different clients and coordinating different levels of users without any confliction.

  • It include functionalities like maintaining client records for future reference, tracking each and authorized user and providing notification updates to keep updated.

  • It is created by using cutting edge JavaScript technology which is generally utilized in all applications in where React Native framework is used.

  • The application was tried with every single imaginable example.

  • The framework additionally gives open door for further improvement and upgrade of the current framework.

50

51 of 54

Future Enhancement

  • Connecting through IIFL Securities API to fetch details of the clients demat account.

  • It is adaptable with the goal that it support and further revisions dependent on the changing condition.

  • Display Live Scrolling Card Updates of daily information.

  • Implementing logs for easy suggestions and feedback for the clients.

  • More functionality and facilities will be provided in future if needed.

51

52 of 54

52

53 of 54

Introduction

53

Understanding Requirement

Requirement Analysis

Design

Implementation

Testing

Deploying

Testing

Change

Or

Maintenance

Review

Software Development Life Cycle (SDLC)

54 of 54

Design

54

Realtime Database

Admin

Client

Firebase

API

Data System Architecture