Designing the User class
Course Content
0 / 153 completedSkills and tools
Which programming language do you need
USSD and SMS course preview
USSD and SMS course outline
Chapter 2 outline
USSD Handling or signaling
What is USSD, why USSD, USSD and SMS compared
Types of SMS
Length of USSD sessions
Benefits and Drawbacks of USSD Applications
Options available to building USSD application
Uses or Applications of USSD Apps
The Applications we Will Build in this Course – Mobile Money App
Chapter 3 preview
Setting up Postman
Setting up Apache webserver and MySQL DBMS using XAMPP
PHP variables and data types
PHP functions
PHP functions - substr
PHP functions – count
PHP functions – array shift
PHP functions – array slice
PHP functions – array merge
PHP functions – explode
PHP functions – array search
PHP functions – join
PHP functions – array splice
PHP POST and GET HTTP methods
PHP functions – unset
Object Oriented Programming PHP (classes, objects member variables) – Part 1
Object Oriented Programming PHP (classes, objects member variables) – Part 2
PHP, PDO and MySQL Database – Connecting to database and handling Transactions
PHP’s hashing API – password hash and password verify
Understanding HTTP protocol structure
PHP functions – str replace
Building and testing USSD menus chapter preview
Factors to consider when choosing USSD gateway aggregator
Designing our Application Database – Part 1
The Application USSD Menu
Designing our Application Database – Part 2
Two ways of consuming an API
Creating the entry point to our USSD and SMS application
Setting up in Ngrok
Creating a USSD service code and adding a callback URL
Exploring USSD aggregator
Testing your first USSD application
How to track your USSD sessions and session errors
Restructuring app entry point file and the Menu class
Understanding the source code for your first USSD application
Adding the USSD main menu
Completing the logic for the application entry point file
Testing the USSD register menu
Adding a constants file – util.php file
Completing the USSD register menu
Testing the send money menu
Testing the USSD withdraw menu
Completing the check balance menu
Testing the USSD check balance menu
Completing send money menu
Testing USSD menus using Postman
Completing the ‘Main menu’ USSD menu
Completing the withdraw money menu
Designing ‘Go back’ and go to ‘Main menu’ USSD navigation
Testing the ‘Go back’ and ‘Main menu’ on Postman
Completing the ‘Go back’ USSD menu
You can use Finite state Machine to create the menu
Linking application Logic to USSD menu chapter preview
Establishing a database connection
Wiring user registration logic to USSD menu
Designing the User class
Completing the register user logic
Testing user registration from end to end
Replay USSD menu for invalid menu option
Handling invalid menus instead of ending user session
Removing invalid menu options from user USSD string
Testing the invalid menu option functionality
Other locations where you will handle invalid input menu
Persisting user invalid menu option in a database
Completing check user wallet balance and user PIN correctness
You can store invalid menu options in in-memory databases such as Redis instead
Adding country code to user receiver phone number
The structure of the Transactions class
Removing a runtime syntax error in our code
Testing send money feature from end-to-end
Send money logic
Test the check balance feature
Wiring check balance logic with check balance menu
How do we withdraw cash
Structure of the Agent class
Completing withdraw cash logic
Testing the withdraw feature
Wiring send money logic to send money menu
Testing the working application with simulator instead of Postman
Receiving USSD notifications in your server
Wiring withdraw cash logic to withdraw cash menu
Implementing USSD notifications feature
Adding SMS functionality chapter preview
Generating an API KEY for API access
Exploring AT SMS products
Exploring ‘Sending SMS from a short code’ API docs
Creating a short code
Setting a callback URL for incoming messages
Testing logic for user registered via SMS shortcode
User registered via SMS can check wallet balance via USSD
Testing callback URL script using Postman
Registering a user via SMS shortcode
Sending SMS from a short code by consuming REST API via Postman
Installing composer
Exploring receiving an SMS to a Short Code API reference
Installing AT PHP SDK via Composer
Exploring AT gateway SDKs
Testing ‘send user wallet balance as SMS’ from a short code
Designing SMS class and 'sendSMS' method
Connect sendSMS logic to checking user wallet balance in USSD
Creating a sender ID in the USSD and SMS gateway
Send user wallet balance as SMS a Branded SMS
Sending bulky SMS
Premium SMS or content
Creating a subscription product
Adding a subscription product callback URL
Two-way SMS communication using a short code
The subscriber table in our database
Add a unique constraint to 3 columns in subscriber table
More function in the Sms class
Exploring premium SMS or content docs
Completing subscribing and unsubscribing users function logic
Wiring the premium SMS callback URL script to the SMS class logic
Testing subscribe and unsubscribe to premium SMS logic
Sending premium SMS or content
Completing the sendPremiumSms function logic
Testing fetch user subscription functionality
Subscribing users with checkout token functionality
Fetching user subscriptions from gateway
Wiring user subscription with checkout token
Moving app from sandbox to live environment chapter preview
Common adjustments when moving from sandbox to live environment
Requirements for Premium SMS Shortcode Request
Requirements for USSD Service Code Request
Requirements for sender ID or branded SMS Request
Requirements for Two-Way SMS Shortcode Request
Test INVALID ENTRY – Live environment
Test user registration via USSD – Live environment
Explore AT’s live environment
Test user registration via SMS shortcode – Live environment
Test Go Back and Go to Main Menu – Live environment
User subscribes to a premium service from mobile phone – Live environment
User subscribes to a premium service from mobile phone – Live environment
User subscribes to a premium service from mobile phone - Freeze time
User subscribes to a premium service from mobile phone – Live environment
Monetizing USSD and SMS skills chapter preview
USSD SMS and Banking
News premium SMS application
How to monetize your USSD and SMS skills