Final Documentation
Final Documentation
REGISTRATION NUMBER:19/06159
COURSE: DBIT
THIS SOFTWARE DEVELOPMENT PROJECT HAS BEEN DEVELOPED IN PARTIAL FULFILMENT FOR THE
ACQUISITION OF DIPLOMA IN BUSINESS INFORMATION TECHNOLOGY
ACKNOWLEDGEMENT
I want to thank my supervisor, Mrs. Winnie Okong’o for his full support and guidance in the
documentation and system work with this project and appreciate the good feedback in accordance to
the consultation and most of all to thank the Almighty Lord for grace and gift of life in the successful
making of this project
DECLARATION
I solemnly declare that the software development project titled PHONE AND ACCESSORIES SHOPPING
SYSTEM
is based on my work carried out during the course of our study and research under the supervision of
MRS WINNIE OKONG’O
I assert the conclusions drawn as an outcome of my research and I further certify that
I)The work contained in the report is original and has been done under the supervisor
Signature…………… Date……………….
ABSTRACT
1.INTRODUCTION
This chapter deals with the background of the study, problem statement, proposed solutions, objectives
and significance of the project
1.2BACKGROUND
In the era of network information, information technology is widely used in all walks of life including
creating an electronic store (e-store) for an electronic commerce (e-commerce). These electronic store
applications have become an important sales channel which has gain ground as an accepted and used
business paradigm.
More businesses are implementing various technologies in providing functionality for performing
commercial transactions over the internet and doing online sale
This Phone and accessories system entails the online sale of mobile phones and their accessories
specifically. It has sales agents who help in the sale of the mobile phones and other accessories at the
shop. The products are shipped from other countries. The store is located in Umoja Nairobi which entails
electronics of a small enterprise and with no official website whatsoever.
it allows customers to browse through mobile brands only and then check the different type of mobile
phones available in the market for a specific brand and make sure there’s reliability and its guaranteed.
This thought is derived as when we go to online sale portals, they deal with a lot of products and
customers sometimes may feel it be too huge and confused with mobile categories that are available.
Hence came up with mobile online shopping.
This system will help users communicate efficiently to the and explain their needs and wants to the sales
person without fear of which their data will be recorded in a technological system by the managers and
they can get their products with ease as the system will generate reports on the sales of mobile phone
accessories. This project will help compute the Store work in a computerized way
3. PROBLEM STATEMENT
With a clear review on the operations at Scartek Shop, notice has been outlined that the firm do not
have any electronic store they only depend on their manual offline way of selling their products.
However, problems associated with this method of selling their products were
time consuming: It took a lot of time to go shopping to a store. Distance from house or
workplace to the store is time consuming. It is also time consuming while searching a particular
product.
Bargaining: Customer tend to do physical bargaining to the seller unlike shopping online, where
buyer cannot do bargain as the price of the product isfixed
Stock records were kept manually and it is not efficient: Sometimes, the stocks are old and are
up for reduction and sale, the manual way of stock records is not efficient in keeping tracks of
old products.
Geographical restrictions: The store is located only in Umoja and people cannot access it from
other locations, imagine that they have to drive for hours to just walk in to the store
Nowadays people find it tiresome to get to specific mobile centers which deal with mobile sales .
It has become also quite difficult to access the specific original phones that relate to the brand you need
is quality reliability as customers get confused with the brands available as they are many they also get
misguided information by the sales person and end up not getting what they need in the end
I developed a phone and accessories system that will connect patients to available brands and easily
purchase their phones
It will be an easy to browse or use website which will showcase only mobile products. It allows
comparison of prices for a particular price range mobiles of different brands thereby allowing the
customer to select one of them as per the features and reliability. This application will also deal with
mobiles spare parts or accessories too for all brands.
If the user is not able to efficiently use the system, then he or she can contact the shop and visit
physically for the proper guidance they need
1.5 MODULES
Modules:
Admin Panel: It will allow managing customer info and save the data related to all info for customers
and vendors. It will allow the addition of mobiles, mobile accessories in details. Products will be saved to
the database via admin panel. Products can be added to the system by vendors. Each vendor will be
allowed to add a product after being registered. Whenever a vendor or customer registers it is saved to
the database via admin panel. It provides a secure and reliable way of saving the data to the database.
Admin panel as managed by admin will have the option to manage the delivery status of products
ordered. Admin will update the status of an order as delivered or in progress from admin panel. Admin
will also have the option to attach a delivery executive to be linked to an order.
Dashboard: It will display available mobile brands and a bit of info wherever needed. A user accessing
the application or website can click on a product to search for the different category of mobile. It will
provide info related to mobile accessories that are available on the website and vendor information to
which are actually providing the mobile and its related accessories to be on sale on the website.
Cart: It will basically manage the orders placed by customers; the option will be provided to remove an
already added item. Increase the quantity of the products if needed, it will allow the customer to
manage address to be delivered, also an option to check the delivery status. Once products are added to
a cart, the delivery boy will be assigned to it by admin in admin panel and manage the delivery status.
Vendor: A vendor will initially register and it will be approved by admin. Once registered, the vendor has
to add info related to mobile products which will be added for sale on the website. They have to add
mobile accessories also which they deal with.
3. OBJECTIVES
. OBJECTIVES
is to develop the system the SCARTEK MOBILE PHONE AND ACCESORIES SYSTEM which will manage the
details of the Mobile all the sales and inventory in the,the purpose of the project is to build an
application program to reduce the manual work.
4.2.Other Objectives
To build an environment where various salesperson will ensure that products are deliver to their
customers
Assist to maintain the records and atomicity by using the proper table to save records so that
no one can access it and one person purchases the product
The System will secure the Mobile and accessories and its records by generating passcodes to
access.
4. JUSTIFICATION
I would love to bring encouragement and improve each person’s preference on phones so that people
would be comfortable and rely in the mobile brand they need in the future
CHAPTER TWO
2.1LITERATURE REVIEW
While researching I found store called Skartek 254 that deals with mobile and other device accessories
and ships products from USA, CHINA, Korea and UK etc.
They deal with phones and machines users can access mobiles physically you can buy them all over East
Africa and you can visit the store located in Umoja and get the product you need
This is efficient only when the customer goes to get the product, he/she wants but there’s no online
accessibility whatsoever in the stores to solve your problem it can be efficient yes but with no
modernized way of purchasing phones in case a user stays far and wants to purchase the phone in the
shop is disadvantaged
I found this analogue since they have no platform for the users to access the devices and they only have
the seller physically whose only work is to sell the products but not to provide full guidance for the
product for users in need which is crucial and costly
Reference: scartek.co.ke/
There were also similar stores that only provided physical services with a basic platform for viewing
the products and buying them physically without good management systems with non-involvement of
the inventories of the Products e.g:
A mobile store called Umoja Mobile shop which is a Destination for Retail trade, , Retail sale of
computers, peripheral units, software and telecommunications equipment in specialized stores, Mobile
phone stores, Telecommunications in Kenya .
Reference :https://www.africabizinfo.com/KE/umoja-mobile-phone-repair-0715-289171/
this is an analogue method of retailing since they have no platform for the users to access the devices
and they only have the seller physically whose only work is to sell the products but not to provide full
guidance for the product for users in need which is crucial and costly.
Therefore, it is possible to say that e-commerce develops according to current trends and tries
“ECommerce will continue to evolve, and marketers will find innovative ways to use online ordering to
reach new markets and create new selling occasions”.
CHAPTER THREE
3.1. METHODOLOGY
3.1.1RESEARCH METHODOLOGY
In order to get information concerning phones and accessories in this system I had to visit a phone
brand company inquire and get information and explore more about mobile consultations using
interviews and observation methods
3.1.2DEVELOPMENT METHODOLOGY
Agile methodology is a software development process that utilize incremental changes with a focus on
quality and attention to detail
Phase1; Requirements –an initial documentation that will list all requirements before designing e.g. end
result of project, features that will support it e.g. different font sizes, features that won’t support t e.g.
animations
Phase 2: Design-during first iteration the product owner assembles their development team and
introduces the requirements created during previous stage
Writing the code and converting design documentation into the actual software within software
development process
Making sure the software is bug free and compatible with everything else that the developers have
written before
Application is deployed on to the servers and provided to the customers either for the demo or the
actual use
Phase 6: Review
Once all of the previous deployment phases are complete the product owner reviews the progress made
towards completing the requirements
4. HARDWARE REQUIREMENTS:
The most common set of requirements defined by any operating system or software application is the
physical computer resources, also known as hardware. A hardware requirements list is often
accompanied by a hardware compatibility list (HCL), especially in case of operating systems. An HCL lists
tested, compatibility and sometimes incompatible hardware devices for a particular operating system or
application. The following sub-sections discuss the various aspects of hardware requirements.
RAM: 1 GB
HARD DISK: 80 GB
5. SOFTWARE REQUIREMENTS:
Software Requirements deal with defining software resource requirements and pre-requisites that need
to be installed on a computer to provide optimal functioning of an application. These requirements or
pre-requisites are generally not included in the software installation package and need to be installed
separately before the software is installed.
DATABASE : MySQL
SOFTWARE SPECIFICATION
MySQL:
MySQL is developed, distributed, and supported by Oracle Corporation. MySQL is a database system
used on the web it runs on a server. MySQL is ideal for both small and large applications. It is very fast,
reliable, and easy to use. It supports standard SQL. MySQL can be compiled on a number of platforms.
The data in MySQL is stored in tables. A table is a collection of related data, and it consists
of columns and rows. Databases are useful when storing information categorically.
FEATURES OF MySQL:
Tested with Purify (a commercial memory leakage detector) as well as with Val grind, a GPL tool.
Security:
A privilege and password system that is very flexible and secure, and that enables host-based
verification.
Password security by encryption of all password traffic when you connect to a server.
Support for up to 64 indexes per table (32 before MySQL 4.1.2). Each index may consist of 1 to 16
columns or parts of columns. The maximum index width is 767 bytes for InnoDB tables, or 1000
for MyISAM; before MySQL 4.1.2, the limit is 500 bytes. An index may use a prefix of a column
for CHAR, VARCHAR, BLOB, or TEXT column types.
CONNECTIVITY:
On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista), clients can connect using named
pipes if the server is started with the --enable-named-pipe option. In MySQL 4.1 and higher, Windows
servers also support shared-memory connections if started with the --shared-memory option. Clients
can connect through shared memory by using the --protocol=memory option.
On UNIX systems, clients can connect using Unix domain socket files.
LOCALIZATION:
MySQL includes several client and utility programs. These include both command-line programs such as
MySQL dump and mysqladmin, and graphical programs such as MySQL Workbench.
MySQL Server has built-in support for SQL statements to check, optimize, and repair tables. These
statements are available from the command line through the MySQL check client. MySQL also
includes myisamchk, a very fast command-line utility for performing these operations
on MyISAM tables.
Fast
Robust
Security
Multiple OS support
Free
Technical support
PHP:
WHAT IS PHP?
PHP files can contain text, HTML, CSS, JavaScript, and PHP code
PHP code are executed on the server, and the result is returned to the browser as plain HTML
PHP can create, open, read, write, delete, and close files on the server
With PHP you are not limited to output HTML. You can output images, PDF files, and even Flash movies.
You can also output any text, such as XHTML and XML.
WHY PHP?
PHP is compatible with almost all servers used today (Apache, IIS, etc.)
The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
and documenting the software system and its components. It is a graphical language, which provides a
vocabulary and set of semantics and rules. The UML focuses on the conceptual and physical
representation of the system. It captures the decisions and understandings about systems that must be
constructed. It is used to understand, design, configure, maintain, and control information about the
systems.
Visualizing
Specifying
Constructing
Documenting
UML Diagram
A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph
of vertices and arcs. you draw diagram to visualize a system from different perspective, so a diagram is a
projection into a system. For all but most trivial systems, a diagram represents an elided view of the
elements that make up a system. The same element may appear in all diagrams, only a few diagrams, or
in no diagrams at all. In theory, a diagram may contain any combination of things and relationships. In
practice, however, a small number of common combinations arise, which are consistent with the five
most useful views that comprise the architecture of a software-intensive system
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by
and created from a use-case analysis. Its purpose is to present a graphical overview of the functionality
provided by a system in terms of actors, their goals (represented as use cases), and any dependencies
between those use cases.
Use case diagrams are formally included in two modeling languages defined by the OMG: the
unified modeling language (UML) and the systems modeling language(sysML)
DATABASE DESCRIPTION
Has the database design which includes a conceptual design and it outlines the functions including
design of interactions, processes sand strategies
CLASS DIAGRAM
The class diagram seeks to identify the various objects to be inherent in the system. Objects are real life
entities that have an identity, a state and exhibits some certain form of behavior.
class diagram will show the class modeling the various objects that are interacting with each other and
the association
DEPLOYMEMT DIAGRAM
CHAPTER FIVE
SYSTEM IMPLEMENTATION
5. IMPLEMENTATION:
5.1 Introduction:
Implementation is the stage of the project when the theoretical design is turned out into a working
system. Thus, it can be considered to be the most critical stage in achieving a successful new system and
in giving the user, confidence that the new system will work and be effective.
The implementation stage involves careful planning, investigation of the existing system and its
constraints on implementation, designing of methods to achieve changeover and evaluation of
changeover methods.
<?php
/**
* @package WordPress
*/
/** Make sure that the WordPress bootstrap has run before continuing. */
require __DIR__ . '/wp-load.php';
exit;
} else {
exit;
/**
* @since 2.1.0
* @global string $error Login error message set by deprecated pluggable wp_login() function
* @global bool|string $interim login Whether interim login modal is being displayed. String 'success'
* @global string $action the action that brought the visitor to the login page.
* @param string $title Optional. WordPress login Page title to display in the `<title>` element.
* @param WP_Error $wp_error Optional. The error to pass. Default is a WP_Error instance.
*/
function login_header( $title = 'Log In', $message = '', $wp_error = null ) {
if ( ! is_wp_error( $wp_error ) ) {
// Shake it!
/**
* Filters the error codes array for shaking the login form.
* @since 3.0.0
* @param array $shake_error_codes Error codes that shake the login form.
*/
}
$login_title = get_bloginfo( 'name', 'display' );
/* translators: Login screen title. 1: Login screen name, 2: Network or site name. */
$login_title = sprintf( __( '%1$s ‹ %2$s — WordPress' ), $title, $login_title );
if ( wp_is_recovery_mode() ) {
/**
* @since 4.9.0
* @param string $login_title The page title, with extra context added.
*/
?><!DOCTYPE html>
<head>
<?php
/**
* installation. You don't have to use the web site, you can
* * MySQL settings
* * Secret keys
* * ABSPATH
* @link https://wordpress.org/support/article/editing-wp-config-php/
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
define(‘DB_NAME', 'database_name_here' );
/**#@+
* You can change these at any point in time to invalidate all existing cookies. This will force all users
to have to log in again.
* @since 2.6.0
*/
/**
* You can have multiple installations in one database if you give each
*/
$table_prefix = 'wp_';
/**
* @link https://wordpress.org/support/article/debugging-in-wordpress/
*/
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
/**
* @package WordPress
*/
$protocol = $_SERVER['SERVER_PROTOCOL'];
$protocol = 'HTTP/1.0';
exit;
nocache_headers();
if ( is_wp_error( $comment ) ) {
if ( ! empty( $data ) ) {
wp_die(
'<p>' . $comment->get_error_message() . '</p>',
array(
);
} else {
exit;
$user = wp_get_current_user();
/**
* @since 3.4.0
* @param WP_User $user Comment author's user object. The user may not exist.
*/
$location = add_query_arg(
array(
),
$location
);
/**
* @since 2.0.5
*/
wp_safe_redirect( $location );
exit;
BLOG HEADER
<?php
/**
* @package WordPress
*/
if ( ! isset( $wp_did_header ) ) {
$wp_did_header = true;
wp();
}
CHAPTER 6
SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality of
components, sub-assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the Software system meets its requirements and user
expectations and does not fail in an unacceptable manner. There are various types of tests. Each test
type addresses a specific testing requirement.
UNIT TESTING
TYPE OF TEST
Unit testing
database information.
calendar.
user.
MODULE TESTING
TYPE OF TEST
Module Testing
Search module Should find records specified by user from the database
INTEGRATION TESTING
This test proves that all areas of the system interface with each other correctly and that there are no
gaps in the data flow. Final integration Test proves that the system works as integrated unit when all the
fixes are complete.
This is whereby all units, sub-systems and objects are integrated together to form the whole system. The
tests in this case include testing integration of the various units and checking that the overall system
gives the desired results from the input entered.
Connection is successful
VALIDATION TESTING
This is intended to show that the system confirms to its specifications and that it meets the expectation
of the customer buying the system. It involves checking processes like inspection and reviews at each
stage of the development. It checks whether the system has met the functionalities of the users or the
requirements. The outcomes are:
The system is released to the users or customers to interact with it and in case there are problems, the
developer makes changes to the required parts of the system
USABILITY TESTING
It involves looking for bugs not in the functionality of the system program, but in the layout and utility of
the user interface. It is often performed on a prototype before the actual system code is written, so it’s
easy to change if needed. This is a situation where the user gives an opinion on what the user interface
is like. It also focuses on making sure the system is user friendly and users can use it comfortably.
ACCEPTANCE TESTING
This is the verification that the final product meets the institutions” requirements. It ensures that all the
components of the system are tested. It describes the acceptance testing process, such as the features
to be tested, pass/fail criteria, approach to testing, roles and responsibilities, resources requirements
and schedule.
It also defines the functionality to be tested, the requirements verified by the test, test precondition,
test steps and test.
SECURITY TESTING
The system is secure from unauthorized users. Error message box pop out every time wrong credentials
are provided. The system is only accessible by users with the correct credentials or valid details. The
login mechanism is put in place to ensure only registered customers will gain access to the system
information.
Different users of the system are provided with different login details that allow them access different
functionalities of the system.
HARDWARE REQUIREMENTS
Flash disk.
Computer
Printer
Compact disk
SOFTWARE REQUIREMENTS
POST CONDITIONS
Alpha test
In this test, international testers run live data through the system checking out for bugs not found in
integration test.
Beta test
This is the next step where the program is actually released to the users with the understanding that the
program is being tested. Through this the expected user is able to identify the errors, which are reported
to the developer and then corrected.
Test Results:
All the test cases mentioned above passed successfully. No defects encountered.
Acceptance Testing:
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
Test Results:
All the test cases mentioned above passed successfully. No defects encountered .
CHAPTER 7
SAMPLE SCREENSHOTS
Since we are entering details of the USERS electronically in the Scartek phone and accessories
System, data will be secured. Using this application, we can retrieve users history with a single click.
Thus, processing information will be faster. It guarantees accurate maintenance of their details. It easily
reduces the physical efforts of consultation with efficiency
9. BIBLOGRAPHY