Specification
Online Freecharge
Prepared by Rashmi Burman
11410590
K1429 G2
Lovely Professional University
Table of Contents
Table of Contents...ii Revision History...ii 1. Introduction...1 1.1 Purpose...1 1.2 Document Conventions...1 1.3 Intended Audience and Reading Suggestions...1 1.4 Definitions...1 1.5 Scope……… 1 1.6 References...1 2. Overall Description...2 2.1 Product Perspective...2 2.2 Product Features...2 2.3 User Classes and Characteristics...2 2.4 Operating Environment...2 2.5 Design and Implementation Constraints...2 2.6 User Documentation...2 2.7 Assumptions and Dependencies...3 3. System Features...3 3.1 System Feature 1...3 3.2 System Feature 2 (and so on)...4 4. External Interface Requirements...4 4.1 User Interfaces...4 4.2 Hardware Interfaces...4 4.3 Software Interfaces...4 5. Other Nonfunctional Requirements...5 5.1 Performance Requirements...5 5.2 Safety Requirements...5 5.3 Security Requirements...5 5.4 Software Quality Attributes...5 6. Other Requirements...5 Appendix A: Glossary...5 Appendix B: Analysis Models...6 Appendix C: Issues List...6Revision History
Name Date Reason For Changes Version
Freecharge 2016-07-26 Update 7.8 APK
Introduction
FreeCharge was founded in the August 2010 by Kunal Shah and Sandeep Tandon.It provides online facility to recharge any prepaid mobile phone, postpaid mobile, DTH & Data Cards in India.It was seedfunded by Tandon Group and Sequoia Capital in 2010 with an undisclosed amount. FreeCharge has a customer base of over 30 million users and over 8 million users of its mobile wallet. In partnership with YES Bank, FreeCharge launched its digital wallet.FreeCharge co-founder Kunal Shah said that the digital wallet service would transform the way people make payments.As we continue our efforts to make your recharge experience simpler and faster, today we are happy to introduce Voice Recharge on FreeCharge App for Windows Phone.Voice Recharge is next step in your recharge experience. No more filling long forms, going through multiple steps or entering never ending details – now a single voice command to your phone will complete your transaction! Just say ‘FreeCharge Me’ or any other voice command you have created and its done. We have included a small video to show you how this works. 1.1 Purpose This document describes the software requirements and specifications about Freecharge. 1.2 Document Conventions Font: Times New Roman 12
1.3 Intended Audience and Reading Suggestions The Document is intended for all the customers and the developers(Designer,Tester,Maintainers)
The reader is assumed to have basic knowledge of Online recharge or transactions underdstanding
Of the UML diagram is also required.
1.4 Definitions 1.4.1 Definitions • Account
A single account in Freecharge from which transactions can be applied. Accounts can be made using the social media websites such as google account or the facebook account.
One account can be used one at a time only. • Recharge
To charge again, especially to refill the amount for any transactions.. • Bank
A financial institution that holds accounts for customers and that issues cash cards
authorizing access to accounts over the Freecharge . • Marketing
The management process through which goods and services move from concept to the customer. It includes the coordination of four elements called the 4 P's of marketing: (1) identification, selection and development of a product,
(2) determination of its price,
(3) selection of a distribution channel to reach the customer's place, and (4) development and implementation of a promotional strategy.
A card assigned to a Freecharge customer that authorizes access to accounts using an Freecharge account.
national standards on credit cards and cash cards. The bank code uniquely identifies the
bank within the consortium. The account determines the accounts that the responsible person
can access. A card does not necessarily access all of a customer’s accounts. Each cash
card is owned by a single customer, but multiple copies of it may exist, so the possibility
of simultaneous use of the same card from different devices must be considered.
• Customer
The holder of one or more account of Freecharge. A customer can consist of one or more
Persons or corporations, the correspondence is not relevant to this problem.
•Transaction
A single integral request for operations on the accounts of a single customer. We only
specified that Freecharge account must dispense offers, but we should not preclude the possibility ofprinting receipts or accepting virtual cash. We may also want to provide the flexibility
to operate on accounts of different customers, although it is not required yet. The
different operations must balance properly.
Profile
A short article giving a description of a person or organization.
Project Scope
The software supports a computerized transaction. The network enables customers to complete simple recharge
services via Freecharge mobile app that may be
located off premise and that need not be owned and operated by the customer’s bank. The ATM identifies a customer by a cash card and password. It collects information about a simple account transaction (e.g., deposit, withdrawal, transfer, bill payment), communicates the
transaction information to the customer’s account details, and dispenses virtual cash transactions
to the customer. The Freecharge provide their own software for their own computers. The Freecharge software requires appropriate record keeping and security provisions. The software must handle concurrent
accesses to the same account correctly.
1.5 References
www.google.com/definitions/Payment www.dictionary.com/profile
2. Overall Description 2.1 Product Perspective
The Freecharge does not work independently. It works together
with the bank and the software run by the network’s banks and freecharge servers.
It allows its customer enough services to make transactions related to the mobile payments ,bills ,DTH payments etc through the Freecharge app. The offline message service is enabled through both the bank and the freecharge account.
Communication interface
The Freecharge communicate with the banking systems and the freecharge servers via a
communication network i.e Internet.
The messages sent via the communication network are specific to the target banking software systems and the freecharge account services too. At
present, two known banking systems will participate in the Freecharge network.
Hardware interface
The software will run on a Moblie phones or the tablets or the Desktops etc which has a compatible software.
User interfaces Customer
The customer user interface should be intuitive, such that
99.9% of all new Freecharge users are able to complete their Online recharge transactions without any assistance.
Administrator
Administrator are responsible for removing virtual money and adding virtual money to Freecharge account.
Maintainer
The maintainer is responsible for adding new Accounts to the
network and servicing existing Freecharge account. A maintainer should be possible to add a freecharge to the network within expected time interval.
2.2 P r o d u c t Features
The Freecharge should work 24 hrs. The Freecharge identifies a customer by a Account ID and
password. It collects information about a simple account transaction (e.g., deposit,Cash Back, bill payment), communicates the
transaction information to the customer’s bank and Freecharge, and dispenses cash
to the customer. The banks provide their own software for their own computers. The bank software requires appropriate record keeping and security provisions. The software must handle concurrent
2.3 User Classes and Characteristics
Characteristics
There are several users of the Freecharge network:
Customers are simply members of the general public with no
special training.
Bank security personnel need have no special education or
experience.
Maintainers must be experienced network administrators, to be
able to connect new Freecharge accounts to the network.
2.4 Operating Environment
• Ability to read the Freecharge account Login ID. • Ability to maintain virtual money balance.
• Good and Continous Internet connection is mandatory for successful transaction.
• Touch screen for convenience • Keypad (in case touchpad fails) • Continuous power supply
• Ability to connect to bank’s network and Freecharge account of the user. • Ability to take input from user
• Ability to validate user
2.5 Design and Implementation Constraints • Login
Validate Login ID
• Validate for Account login ID.
• Validate that the virtual money is available in the account of the customer • If account is not valid then, prompt error message "Account is not Valid"
Validate for Stolen Password
• Validate that the OTP is send to the registered number while any transaction made. • There should be a recovery question asked everytime.
• Validate for Disabled Bank Account
• Validate that the account is not disabled.
• If account is disabled, prompt error message, "Acccount has been disabled as of expiration date"
• Validate for Locked Account • Validate that the account is not locked
• If account is locked, prompt error message "Account is locked" • Validate PIN
• Validate that the password is not blank
• If PIN is blank, prompt error message "Please provide PIN" • Validate that the password entered matches the password on file • If password does not match, prompt error message "Password is Incorrect"
• Lock Account
• If number of consecutive unsuccessful logins exceeds three attempts, lock account
• Maintain Consecutive Unsuccessful Login Counter • Increment Login Counter
• For every consecutive Login attempt, increment logic counter by 1. • Reset login counter to 0 after login is successful.
• Get Balance Information • Make Mobile Transactions
• Cashback
2.6 User Documentation
How To Recharge With Freecharge App: do you use Freecharge App to recharge you mobile, datacard and DTH, and searching on Google for terms like “How to recharge with freecharge app” or something just like that? if yes then you have been landed on the right webpage because in this article i am going to show you how to recharge with freecharge app. Freecharge is one of the most recommend app according to me, because it gives us freedom to recharge our mobile account anytime and
anywhere you just no need to go to any shop and wait for the shop keeper to get your recharge done or no time limit for you recharge.
Just get your mobile account recharged anytime anywhere. That’s why i recommend my blog’s visitors to use Freecharge to recharge with ease. And if i should tell you how difficult is the task “how to recharge with freecharge app” then i would like to say its just like sending a message to your Facebook friend its that easy. But before i tell you how to recharge with Freecharge app let me tell you few things about Freecharge.
2.7 Assumptions and Dependencies • Hardware never fails.
• Continous power supply and Internet connectivity while making transaction is essential
• Limited number of transactions per day (sufficient paper for receipts) • Limited amount of Recharge per day (sufficient money)
3. Specific Requirements 3.1 Functional Requirements
The functional requirements are organized in two sections First
requirements of the Freecharge account and second requirements of the bank balance
3.1.1 Requirements of the Freecharge
The requirements for the Freecharge are organized in the following way General requirements, requirements for authorization,
requirements for a transaction.
General
Functional requirement 1
• Easy registration steps for naïve users. • Input
Your unique login ID and Password • Processing
Storing the parameters. • Output
Login successful.
Functional requirement 2
• Description
If no virtual money balance in bank account, the system should display initial message or the prompt.
Functional requirement 3
• Description
If the Freecharge account linked up bank account is running out of money, no transaction should be accepted. An error message is sent.
• Input
Trying making the transaction. • Processing
The amount of cash is limited as per Freecharge policy. • Output
Display an error message. Return cash card.
Authorization
The authorization starts after a customer has login his account on freecharge.
Functional requirement 4
• Description
The Freecharge has to check if the entered bank account is a valid cash-card.
• Input
Customer enters the card number. • Processing
Check if it is a valid cash card.It will be valid if 1. the information on the card can be read. 2. it is not expired.
• Output
Display error message and return cash card if it is invalid.
Functional requirement 5
• Description
If the cash card is valid, the Frecharge should read the serial number and bank code.
• Input
Valid cash card. • Processing
Read the serial number. • Output
Initiate authorization dialog
Functional requirement 6
• Description
The serial number should be logged in the Freecharge database safely time to time when required.
• Input
Transaction ID number from cash card • Processing
Log the number. • Output
Update to log file.
Functional requirement 7
• Description
Authorization dialog: The user is requested to enter his password. The Freecharge verifies
the bank card code and password with the bank databases • Input
Password from user, bank code from cash card.
Send serial number and password to bank computer, receive response from bank.
Output
Accept or reject authorization from bank.
Functional requirement 9 Description
If password and serial number are ok, the authorization process is finished.
Input
The Freecharge gets accept from the bank computer from authorization process.
Processing
Finishing authorization
Output
Start transaction dialog
Functional requirement 10 Description
Cashback is given frequently
Input
Do as much as transactions possible.
Processing
Limited time bound offers are only valid under that time interval.
4. External Interface Requirements 4.1 User Interfaces
The customer user interface should be intuitive, such that 99.9% of all new Freecharge users are able to
4.2 Hardware Interfaces
The hardware should have following specifications: • Ability to read the Freecharge account login ID. • Ability to maintain virtual money balance.
• Touch screen for convenience • Keypad (in case touchpad fails) • Continuous power supply
• Ability to connect to bank’s network and Freecharge account of the user.
• Ability to take input from user • Ability to validate user
Good and Continous Internet connection is mandatory for successful transaction.
•
4.3 Software Interfaces
The software interfaces are specific to the target Freecharge software systems.
5. Other Nonfunctional Requirements 5.1 Performance Requirements
• It must be able to perform in adverse conditions like slow internet connection etc. • Uninterrupted interrupted connections.
• High data transfer rate.
5.2 Safety Requirements
• Must be safe kept password protected apps. • Must be OTP secured.
• Must have an emergency loan recharge system for backup.
• There must be no transperancy with the third parties with respect to the bank credentials.
5.3 Security Requirements
• Users accessibility is censured in all the ways
• Users are advised to change their Password on first use • Users are advised not to tell their Password to anyone
• The maximum number of attempts to enter Password will be there.
5.4 Software Quality Attributes
5.4.1 Availability
The Freecharge servers must be up for 24 hours a day.
5.4.2 Security
The Freecharge should provide maximal security .In order to make that much more Transparent there are the following requirements
1. It must be impossible to plug into the network.
5.4.3 Maintainability
Only maintainers are allowed to connect new Freecharge accounts detail of the network.
6. Other Requirements
Data Base
The Freecharge must be able to use several data formats according to the data formats that are
provided by the data bases of different banks and the users. A transaction should have all the properties of
a data base transaction (Atomicity, Consistency, Isolation, Durability).
A Database is collection of related data, which can be of any size and complexity. By using the concept of Database, we can easily store and retrieve the data. The major purpose of a database is to provide the information, which utilizes it with the information’s that the system needs according to its own requirements.
Database Design:
Database design is done before building it to meet needs of end-users within a given information-system that the database is intended to support. The database design defines the needed data and data structures that such a database comprises.
The database is physically implemented using MySQL.
MySQL is a relational database managements system
(RDBMS) that runs as a server providing multi-user access to a number of databases.
The database for Insurance System is organized into 7 tables:
Customer_info
Field Type Null Default
customer_id varchar(35) Yes
password varchar(35) Yes NULL first_name varchar(20) Yes NULL middle_name varchar(20) Yes NULL last_name varchar(20) Yes NULL gender varchar(6) Yes NULL Address_line_
1 varchar(20) Yes NULL
Address_line_
2 varchar(20) Yes NULL
city varchar(35) Yes NULL state varchar(35) Yes NULL country varchar(20) Yes NULL pincode varchar(6) Yes NULL phone varchar(10) Yes NULL mobile varchar(12) Yes NULL email varchar(40) Yes NULL date_of_birth date Yes NULL
Personal_info
Field Type Null Default
id int(11) Yes NULL
name varchar(50) Yes Address varchar(80) Yes city varchar(35) Yes state varchar(35) Yes country varchar(35) Yes
pin varchar(6) Yes
Admin_name varchar(40) Yes
Recharge_info
Field Type Null
user_id int(11) Yes
insured_perso
n varchar(50) Yes
date_of_birth date Yes address varchar(150) Yes
Plan_info
Field Type Null
plan_id int(11) Yes plan_nam
descriptio
n varchar(2000) Yes
Recharge{_Plan_taken
Field Type Null
policy_id int(11) Yes
user_id varchar(35) Yes
plan_id int(11) Yes
start_date date Yes
duration int(2) Yes
payment_durati
on varchar(15) Yes
amount_insured bigint(20) Yes
Recharge_history
Field Type Null
Premiuim_Recharge_
id bigint(20) Yes
Recharge_id int(11) Yes
premium_amount bigint(20) Yes
date date Yes
status varchar(20) Yes
mode_payment varchar(20) Yes Customer_id varchar(35) Yes
user_info
Field Type Null
user_id varchar(35) Yes password varchar(35) Yes first_name varchar(20) Yes middle_name varchar(20) Yes last_name varchar(20) Yes gender varchar(6) Yes Address_line_1 varchar(20) Yes Address_line_2 varchar(20) Yes city varchar(35) Yes state varchar(35) Yes country varchar(20) Yes pincode varchar(6) Yes phone varchar(10) Yes mobile varchar(12) Yes email varchar(40) Yes date_of_birth date Yes occupation varchar(20) Yes annual_incom int(11) Yes
DATAFLOW DIAGRAMS
The Data Flow Diagrams are commonly used during problem Analysis. A DFD is very useful in understanding the system effectively. The DFD shows the flow of data through a system.
Notations in the DFD:
Symbol Description
The circle or bubble represents a process. A process is named and each process is represented by a named circle.
The source or sink is represented as a rectangular box. The source or sink is the net originator or the consumer of the data that flows in the system.
The arrow represents the flow of data through the system. The labeled arrows enter or leave the bubbles.
The database is represented with the open box symbol
*
The need for multiple data flows i.e AND relationship by a process is represented by * between data flows.
+ The OR relationship between data flows is represented by + between data flows.
Appendix C: Issues List
1. Sometimes the money is deducted from the account but the recharge is unsuccessful. 2. The message prompt is there sometimes that the promo codes is not valid.
3. Questions are arised on the safety of the online recharge. 4. Sometimes there is extra charges for the recharge.
CODING
<body>
<div id="app"> </div>
<script type="text/javascript" src="/desktop/static/thirdparty/s_code.js"> </script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js"></script> <script type="text/javascript"> <style> .pace { -webkit-pointer-events: none; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .pace-inactive { display: none; } .pace .pace-progress { background: #e3714d; position: fixed; z-index: 2000; top: 0; right: 100%; width: 100%; height: 2px; } </style> <script> window.fbAsyncInit = function() { FB.init({ appId : '267804853344286',
cookie : true, xfbml : true, version : 'v2.2' }); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs);
}
(document, 'script', 'facebook-jssdk')); </script> <script src="https://apis.google.com/js/api:client.js"> </script> <script> gapi.load('auth2', function() { window.gauth2 = gapi.auth2.init { client_id: '811449299901-o5308oalef77sa8klj5nm6bojk7c07ni.apps.googleusercontent.com', 'scope': 'https://www.googleapis.com/auth/plus.login', }); }); </script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5CS7ZD"
height="0" width="0" style="display:none;visibility:hidden"> </iframe>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5CS7ZD');</script>
<!-- End Google Tag Manager --> <script>
function loadScriptAsync(scriptSrc,callback){
var headID = document.getElementsByTagName("head")[0]; var newScript = document.createElement('script');
newScript.type = 'text/javascript'; newScript.src = scriptSrc;
if(typeof callback !== 'undefined' && callback){ newScript.onload = callback; } headID.appendChild(newScript); } </script> <script type="text/javascript">
var TRACKER_CLIENT_DATA = (function() { var userAgent = navigator.userAgent; var referrer = document.referrer; var params = location.search; return { "userAgent": userAgent, "referrer": referrer, "params": params }; })();
var _fcTrackerEventQueue = _fcTrackerEventQueue || [];
document.addEventListener('DOMContentLoaded', function () {
loadScriptAsync('https://tracker.freecharge.in/api/1/tracker/? v=1&channelId=1');
}); </script> <script type="text/javascript" src="https://s.freecharge.in/desktop/static/vendor.js? v=708ae1b0b470a3a2770c"></script><script type="text/javascript" src="https://s.freecharge.in/desktop/static/bundle.js? v=13ddf13478866e5d6cb9"> </script>