SMS Broadcasting Campaign System Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

We invite interested and qualified parties to submit a proposal for the development of an SMS broadcasting/campaign management system and website. This system would be a web based platform for individuals/organizations to maintain an address book of contacts and groups to whom they can send bulk sms messages. Individuals interested in receiving SMS offers can also register on the website build their profile and provide their preferences.

Project Scope

This project has been divided into two phases. Quotes will need to be submitted for just phase 1 at the moment, but any phase 2 requirements should be reviewed to make accommodations in the database and application architecture. A list of fields for the application is provided. The visual design of the application will not be in scope. A template will be provided from which all pages should be created. On the front end section only things that will require coding such as login boxes are mentioned.

Functional Requirements:

Actor:

Administrator

Handles all the back end and manual processes.

Broadcaster

This is a vendor representative that has a login to the site and is able to setup an sms broadcast, schedule when it will be executed and what message will be sent out. It can also be an individual who would like to send mass personal SMSs.

Subscriber

This is an individual interested in receiving sms's from vendors and is registered on the Bongo Live! website.

Front-end Section

Homepage

The homepage will be the landing page on which a user would land after typing the URL on a browser. The homepage will have following navigational links/buttons to browse whole website.

Sign Up for individuals button

Sign Up for Broadcasters button

Login boxes

Registration

Subscriber Registration: The registration process should be a wizard like process with 2-3 pages to register.

Request mobile number, Email, password, password confirmation

Name, Age Range, Gender

Location: City, Neighborhood

Occupation Category (student, employed, self-employed, not employed), Industry, Income Range

Interests

accept terms and conditions.

Registration confirmation SMS sent to mobile number

For field details see appendix

Broadcaster Registration: The registration process should be a wizard like process with 2-3 pages to register.

Request username password, password confirmation

Account Type (Business, Individual)

If Individual: Name, mobile number, Email, Postal Address, accept terms and conditions.

If Business: Business/Organisation Name, Organization category (restaurant, travel agency, NGO, Government Agency, Manufacturing, Services other, etc), Email, Phone Number, Physical Address, Postal Address, accept terms and conditions.

Registration confirmation SMS sent to mobile number

For field details see appendix

Login

Subscriber can login to website by providing login details mobile number and password. System should check for authentication & authorization of user and will display error message if mobile number/password doesn't match. Goes to subscriber account page.

Broadcaster can login to website by providing login details username and password. System should check for authentication & authorization of user and will display error message if mobile number/password doesn't match. Goes to Broadcaster account page.

Admin can login to website by providing login details mobile number and password. System should check for authentication & authorization of user and will display error message if mobile number/password doesn't match. Goes to Admin View.

After successful login the recognized user name and "Sign out" option should appear preferably on the top right hand side of the page as well.

Forgot password

The forgot password features should enables users to reset password by providing an email address or mobile number with a temporary password. Temporary password sent to email and SMS. (we should be able to enable/disable this feature of SMS alert)

Broadcaster Account Section

This set of pages allows broadcaster sending messages to manage their account, profile and start sms broadcasts.

My Profile - landing page after logging in

Display all details collected during sign up, these should be editable except password and username.

Display: Total cash balance of account

Change password - system would allow broadcaster to change password by providing old and new passwords. New password sent to email and SMS. (we should be able to enable/disable this feature of SMS alert)

Broadcast SMS to Contacts (this is a separate tab on the page)

Dashboard - contains list of groups and number of contacts per group.

Each group name is a link which takes you to view to manage group view.

Each group has a checkbox to select entire group to send message to.

Send Button - selects contact with checkbox marked to send SMS to.

Delete button - deletes group selected with checkboxes

Send to Everyone button - selects all contacts in address book to send SMS to. Goes to 'Compose SMS' View

Manage Group - displays contacts: Name, mobile number. Each contact has a check box for selection. Each contact is a link (to edit)

Delete button - deletes contacts selected with checkboxes

Send Button - selects contact with checkbox marked to send SMS to. Goes to 'Compose SMS' View

Maximum 30 contacts displayed per page. Additional contacts on subsequent pages.

Add New Contact - following fields should be available. title, first name, last name, email, Mobile number, custom field. Click 'Add' button.

Create New Group - Enter fields, name and description. Click 'Create' button.

Import Contacts - Drop down to select group (from existing or 'Everyone'). Browse for CSV file on local machine. Format of CSV is standardized.

Compose SMS

Enter SMS message (counter for 160 characters)

Schedule future date/time to send message. (link which expands this option)

Click 'Submit'

Show confirmation screen with number of contacts message is being sent to and date of delivery. Click 'Send'.

Subscriber Account Section

This set of pages allows subscriber to manage their account and preferences.

My Profile - landing page after logging in.

Display name, mobile number, email, City, Neighborhood, Gender, Age range. All fields except mobile number editable.

Link to interests & occupation details. All fields should be editable

Change password - system would allow subscriber to change password by providing old and new passwords. New password sent to email and SMS. (we should be able to enable/disable this feature of SMS alert)

Mobile number change - enter password, confirmation sent to email and new mobile number via SMS. (we should be able to enable/disable this feature of SMS alert)

Administrator View

The admin panel would allow admin to manage SMS broadcasts submitted by broadcasters.

Custom Broadcast

This allows the admin to send a broadcast to all subscribers/broadcasters registered on the website based on chosen preferences.

Enter Advertiser Name

Select Type (broadcaster/subscriber)

Subscriber

Checkboxes for Age Ranges, Male, Female,

Multi selection box for cities, multi selection box for neighborhood,

Checkboxes for interests 1-10.

Enter SMS message (counter for 160 characters)

Schedule future date/time to send message. (link which expands this option)

Click 'Submit'

Show confirmation screen with number of contacts message is being sent to and date of delivery. Click 'Send'.

Broadcaster

Check boxes for account type - Individual, account type - organization

Multi selection box for organization category, multi selection box for number of people, multi selection box for cities

Enter SMS message (counter for 160 characters)

Schedule future date/time to send message. (link which expands this option)

Click 'Submit'

Show confirmation screen with number of contacts message is being sent to and date of delivery. Click 'Send'.

SMS Broadcast Management

List Broadcasts- system will list all broadcasts (past and pending)

Broadcast Management- admin can edit broadcast details: date/time, cost per sms, and sms message, broadcast state (mentioned below)

Search Broadcasts- admin can search broadcast by date/time, broadcaster name, broadcaster organization name, broadcaster username, broadcaster phone number, broadcaster type, sms message, broadcast state.

Broadcast State - an broadcast can have several states which should be editable on the Broadcast Mgmt page

Active (time remaining > 0 and approved)

Pending approval (submitted by broadcaster)

Pending payment (payment yet to submitted by broadcaster)

Rejected (item got rejected)

Ended (broadcast is complete - payment(num of SMSxcost/sms) is deducted from account)

Error (Broadcast not completed successfully due to error)

State Diagram:

This diagram explains the possible states of a broadcast that is submitted by a broadcaster. The system and admin would be able to change states.

System

Pending Approval

Admin

Broadcaster/Admin submits

broadcast

Pending Payment

Admin

Rejected

Admin

Admin

Active

System

Ended

System

Error

Admin

General System Requirements:

Logging:

System logs each SMS received per broadcast per broadcaster

System logs each SMS sent per broadcast per broadcaster

System logs how many SMSs sent per broadcast per broadcaster

System logs how many SMSs received per broadcast per broadcaster

System logs any SMS failures received from clickatell

System logs any broadcasts that had an error and did not execute successfully.

Scheduler:

each broadcaster should be able to schedule broadcasts for any date/time in the future (9AM-9PM)

this will automatically run every 15mins and check if there are any broadcasts in active state scheduled for that time. If there are, it starts the broadcast.

Message Routing:

HTTP Web service (e.g offered by Clickatell.com) to handle outgoing and incoming SMS messages

Batch message webservice (e.g offered by clickatell.com) handle outgoing sms.

Call back URL should be available to receive a delivery status for an outgoing sms.

Non-Functional Requirements

Performance

The platform must be able to handle heavy daily volume of incoming and outgoing SMS.

Website code must be W3C standards-compliant to ensure the fastest download times are achieved.

Cross-browser consistency must be achieved with IE6/7/8, Firefox 2/3, Safari 3 and opera 9.

Security

Secure coding practices must be employed to ensure the security of all user and administrative data.

input validation and stripping before database calls

recatpha for form validation

Software Quality Attributes

The code used in development must be modular, flexible and allow for code reusability.

Code must be well documented.

comments on top of each page to describe code

comments within code to describe processing

Project Documentation

The project manager must produce a project plan to address the conduct of project, give specific timelines and detail project budget. Any changes to the project plan must be documented via a change request and approved by the project owner.

The project manager must provide weekly status reports to the project owner.

Prior to commencement of development, the project manager must provide a test plan to ensure the system can be verified against the requirement provided. The test plan must be approved by the project manager and project owner before coding can commence.

Error Handling

Expecting the developer team to come up with a good error handling solution that covers potential errors beyond the example mentioned above. Appropriate error messages should be displayed and logged in daily files

Errors in broadcast execution should be logged in the database.

Appendix A - List of Fields

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.