Online Shopping Portal Documentation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 72

PROJECT REPORT ON ONLINE SHOPPING CARTEL

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIRMENT FOR THE AWARD OF MASTER OF COMPUTER APPLICATION DEGREE

SUBMITTED BY MANOJ GIRI Enrollment No.-06011404410

INTERNAL GUIDE

EXTERNAL GUIDE

Mr. Girish Sharma (Associate Professor)

GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY DELHI DEPARTMENT OF COMPUTER SCIENCE APPLICATION BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES BATCH 2010-2013

HobbySea.com

Page 1

PROJECT REPORT ON JOB PORTAL

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIRMENT FOR THE AWARD OF MASTER OF COMPUTER APPLICATION DEGREE

SUBMITTED BY MANOJ GIRI Enrollment No.-03811404410

INTERNAL GUIDE

EXTERNAL GUIDE

Mr. Girish Sharma (Assistant Professor)

GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY DELHI DEPARTMENT OF COMPUTER SCIENCE APPLICATION BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES BATCH 2010-2013

HobbySea.com

Page 2

Certificate by Company/ External Guide ( format will be issued by the company on letter head of the company)

HobbySea.com

Page 3

GOVERNMENT OF NCT OF DELHI BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES


OPP. MADHUBAN COLONY, SHAKARPUR EXTN., DELHI- 110092. Phone: 011-22543891, 22017393 Fax: 011-22016134 Website: www.bpibs.in

CERTIFICATE
This is to certify that this industrial training project report JOB PORTAL is submitted as a work of Manoj Giri who is undergoing the 6th Semester (MCA) Industrial training at __________________ He has been giving regular update of training work throughout the semester and has prepared the training report under assigned guides guidance.

Date:

Dr. Girish Kumar Sharma Head of Department (MCA) Bhai Parmanand Institute of Business Studies

HobbySea.com

Page 4

GOVERNMENT OF NCT OF DELHI BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES


OPP. MADHUBAN COLONY, SHAKARPUR EXTN., DELHI- 110 092. Phone: 011-22543891, 22017393 Fax: 011-22016134 Website: www.bpibs.in

CERTIFICATE
This is to certify that the dissertation/project report (MCA 302) entitled JOB PORTAL done by Manoj Giri Roll No. 06011404410 is an authentic work carried out by him at ______________ under my guidance. The matter embodied in this Project work has not been submitted earlier for the award of any degree or diploma to the best of my knowledge and belief.

Date:

Internal Guide Mr. Girish Sharma Assistant Professor

HobbySea.com

Page 5

ACKNOWLEDGEMENT
The accomplishment of this project would have not been possible individually without the encouragement, assistance and valuable support from various sources. It is my proud privilege to express my profound gratitude to the entire management of Bhai Parmanand institute of Business Studies and teachers of the institute for providing me with this opportunity to avail the excellent infrastructure. The knowledge and values gained have provided to be of immense help at the very start of my career. Special thanks to Honrable Principal, Mrs. Amita Dev for having provided us an excellent infrastructure at BPIBS. No creative work is possible in isolation. I need guidance, motivation at every step of my progress. I would like to add a few heartfelt words for the people who were the part of this project in numerous ways. I am grateful to Mr. Girish Sharma (project guide) for his guidance, constant encouragement and sincere support for this project work. I extend my heartfelt thanks to for giving me an opportunity to work in such good professional environment and have a good experience. I would like to extend my profound thanks to for providing all the support in the lifetime of the project and their valuable motivation and time to time discussions which kept a constant vigil on the progress of the project.

MANOJ GIRI

HobbySea.com

Page 6

TABLE OF CONTENTS

Introduction ...8 Profile of the Problem Objectives of the project System Analysis....17 Modules of project Administrator Feasibility Analysis Methodology Software Requirements Specification DFD Use Case Diagram Flow chart System Design..33 Design approach Sequence Diagram State chart Diagram Activity Diagram Database Tables Conclusion and Snapshots ...45 Testing.....................................57 8.1 Test Plan Bibliography..74 Appendix [code]

HobbySea.com

Page 7

CHAPTER 1 INTRODUCTION

HobbySea.com

Page 8

Profile of the Problem


HobbySea.com is a web-based application intended to provide automated solution and services to customer. The Business Organization has its offices in few states and normally uses courier facility to deliver the product. If possible home delivery is also possible. This Business Organization mainly has two sectors first one is sale which sale the product to the customer and second is service which is provided to the customer.

HobbySea.com provides sales and service to customer by interaction with customer. The success of a company is mainly based on its satisfied customers, which in turn gives profits. Retaining existing customers is also an important job of a company. HobbySea.com concentrates on the retention of customers by collecting all data from every interaction, every customer makes with a company from 'all' access points whether they are phone, mail, web or field. The company can them use this data for specific business purposes viz., marketing, service, support or sales HobbySea.com is basically the collection and distribution of "all" data to "all" areas of business. The data can then help market the company, help up sell to existing customer, understand customers better so that customers can be given better service and allows them to interact with the company by whatever means they wish.

HobbySea.com

Page 9

What contribution would the Project Make? The project would help in effective and systematic sales and purchase of products. This Project will also be able to give the reports concerning user patterns so that it could be used in future to track potential customers.

Scope of the study The main Scope of study: It should contain all the information of products and their description. It should contain all the information related to supplementary and complementary products related to particular product. It should process and evaluate payments done by the customer. It should contain information related all the functionalities of a particular product. It should maintain proper payment records. It should have Administrator for scheduling administrative work of site.

HobbySea.com

Page 10

Objectives of the project It will enable vendors to setup online shops, customer to browse through the shop and purchase them online without having to visit the shop physically.

The administration module will enable a system administrator to approve and reject requests for new shops and maintain various lists of shop category.

The main objective of the project is to establish a network among the people residing in all over the world by which all the information related to products and any new updates can be easily accessed and shared among the people.

This system provides admin module to manage different domains details, consumers to maintain their online shopping and customers/visitors/guest to check out the details of different products.

Requirements / Functionalities of Online Shopping cartel Products can only be added through Administrator.

A customer may or may not register with our website.

A customer could navigate between various products and could also look for their detailed description.

After finalizing, a product could be purchased through various payment gateways.

Proper shipping address should be clearly mentioned.

HobbySea.com

Page 11

The administrator should be able to track the customer by his contact information.

The administrator should authenticate the customer before the delivery of the product.

ESTABLISH THE NEED OF THE NEW SYSTEM:


Meets Business Requirements: It contains various modules which help online commerce company to work efficiently and effectively as well as completely satisfies current and future needs.

Web Based Solutions: Since the whole setup in on-line therefore web based solutions could be integrated as soon as some technological advancement hit the market.

Highly Modular Solutions: Each product is categorized into specialization means; it is segregated according to its category.

Easy to Enhance: As complete system is divided into different module therefore enhancement of single module or complete system can be easily done in future.

Timely delivery and customer support: Accurate, up to date and timely available information leads to on time delivery.

HobbySea.com

Page 12

Advantage(s) There has long been a need for the consumer to purchase goods without ever having to leave their home. The industry started with mail order catalogs.

The catalog offered everything from clothing to toys, and even farming equipment that made it easier for early families to purchase goods without having to travel to a city possibly hundreds of miles away. Ever since the invention of the personal computer and the World Wide Web, consumers have become more and more eager to shop online. online can give a great advantage to many people. Shopping

You can search for exactly what youre looking for quicker. There are many online stores who specialize in a certain type of sofa or style that you may be looking for and a quick Google search will bring you to that site. If you love knowing the newest styles, or having unique pieces then online shopping makes it easier to do so.

Instead of driving around wasting gas or spending hours on the bus in travel time you can visit all the stores that youre interested in at once. This eliminates time going from store to store to see what is available and at what price.

Easier to find discounts on the sofa youre looking for by Googling, going on EBay, Amazon and many other websites out there offering deals. Online stores usually offer online specials as well and there are multiple websites dedicated to sharing these deals with you.

HobbySea.com

Page 13

Software tools / Technology Used

Language (Server Side) Front End (Client Side) Database IDE Operating System Method of Development Controller)

: : : : : :

PHP Html, CSS, Ajax MySQL WAMP Windows 7 MVC (Model View

HobbySea.com

Page 14

CHAPTER 2 SYSTEM ANALYSIS

HobbySea.com

Page 15

Proposed System

The development of this shopping cartel contains the following activities, which try to automate the entire process keeping in the view of database integration approach. This Site can provide the products information along with the product category. This website can provide product search facility for the customer. Administrator can control both products and as well as customer information. Administrator could manage the entire site.

Number of Modules The Job Portal after careful analysis has been identified to be presented with the following modules: Administrator Customer

Administrator
Administrator is the major controlling authority of the shopping portal. He controls and monitors the entire shopping portal. Admin first logins with his valid username and password and after that he can access the database and control the features of the shopping portal. He can add, edit and delete homepage, contact us and about us. He could add or delete products and manage database.
HobbySea.com Page 16

FEATURES OF ADMINISTRATOR
Login Administrator has to enter his username and password to login. If the username and password is valid then the administrator is directed to his home page from where he can control all the features of shopping portal.

Change Password Administrator can change his password from his account with full authentication.

Manage Home Page Administrator can easily manage home page from his account.

Manage shopping portal Information Administrator can easily manage Contact Us and About Us from his account.

Addition/deletion of products Administrator is responsible for adding or deleting products and their information.

Job Portal Reports Administrator can access the reports related to shopping portal such as number of hits on shopping Portal, number of total products and product details.

HobbySea.com

Page 17

FEASIBILITY REPORT
Preliminary investigation examine project feasibility, the likelihood the system will be useful to the organization. The main objective of the feasibility study is to test the Technical, Operational and Economical feasibility for adding new modules and debugging old running system. All system is feasible if they are unlimited resources and infinite time. There are aspects in the feasibility study portion of the preliminary investigation: Technical Feasibility Operation Feasibility Economic Feasibility

Technical Feasibility The technical issue usually raised during the feasibility stage of the investigation includes the following: Does the necessary technology exist to do what is suggested? Do the proposed equipments have the technical capacity to hold the data required to use the new system? Will the proposed system provide adequate response to inquiries, regardless of the number or location of users? Can the system be upgraded if developed? Are there technical guarantees of accuracy, reliability, ease of access and data security?

Earlier no system existed to cater to the needs of Secure Infrastructure Implementation System. The current system developed is technically feasible. It is a web based user interface for audit workflow at NIC-CSD. Thus it provides an easy access to the users. The databases purpose is to create,
HobbySea.com Page 18

establish and maintain a workflow among various entities in order to facilitate all concerned users in their various capacities or roles. Permission to the users would be granted based on the roles specified. Therefore, it provides the technical guarantee of accuracy, reliability and security. The software and hard requirements for the development of this project are not many and are already available in-house at NIC or are available as free as open source. The work for the project is done with the current equipment and existing software technology. Necessary bandwidth exists for providing a fast feedback to the users irrespective of the number of users using the system.

Operational Feasibility Proposed projects are beneficial only if they can be turned out into information system. That will meet the organizations operating requirements. Operational feasibility aspects of the project are to be taken as an important part of the project implementation. Some of the important issues raised are to test the operational feasibility of a project includes the following: Is there sufficient support for the management from the users? Will the system be used and work properly if it is being developed and implemented? Will there be any resistance from the user that will undermine the possible application benefits? This system is targeted to be in accordance with the above-mentioned issues. Beforehand, the management issues and user requirements have been taken into consideration. So there is no question of resistance from the users that can undermine the possible application benefits. The well-planned design would ensure the optimal utilization of the computer resources and would help in the improvement of performance status.

HobbySea.com

Page 19

Economic Feasibility A system can be developed technically and that will be used if installed must still be a good investment for the organization. In the economic feasibility, the development cost in creating the system is evaluated against the ultimate benefit derived from the new systems. Financial benefits must equal or exceed the costs. The system is economically feasible. It does not require any addition hardware or software. Since the interface for this system is developed using the existing resources and technologies available at NIC, There is nominal expenditure and economic feasibility for certain.

HobbySea.com

Page 20

Software Requirements Specification


1 Introduction Viewing available jobs or applying for the job at the agency is currently done manually where in the job seekers has to go to the agency and check the available jobs at the agency. Job seekers check the list of jobs available and apply the job if the job is not available otherwise it is of waste for the job seeker to come to the agency to come to check for the job if the job seeker doesnt get the job. Then the agency will show available jobs for the job seeker for his qualifications and the then updates the jobs database. This takes at least one to two hours if the job seeker is available at the nearby place otherwise it may take more time. 1.1 Purpose The purpose of Software Requirements Specification (SRS) document is to describe the external behavior of the Online Job Portal System. Requirements Specification defines and describes the operations, interfaces, performance, and quality assurance requirements of the Online Job Portal System. The document also describes the non-functional requirements such as the user interfaces. It also describes the design constraints that are to be considered when the system is to be designed, and other factors necessary to provide a complete and comprehensive description of the requirements for the software. The Software Requirements Specification (SRS) captures the complete software

requirements for the system, or a portion of the system. Requirements described in this document are derived from the Vision Document prepared for the Online Job Portal System.

HobbySea.com

Page 21

1.2 Scope The Software Requirements Specification captures all the requirements in a single document. The Online job Portal System that is to be developed provides the members with jobs information, online applying for jobs and many other facilities. The Online Job Portal System is supposed to have the following features. Main Page Search jobs, browse jobs by country, by category or by agency. Latest jobs listed on the front page. Job Seeker's Area Jobs seekers can sign-up and submit their resume or manage their Job Alerts. Job seekers can account. Employers Area Employers can sign-up and browse job seeker's resumes, manage their advertisements (job postings) or manage their Resume Alerts. Additionally, job seekers can submit their profile and manage other things associated with their account. Administration Panel The job portal is highly configurable and there are many possibilities for running the job portal. The features that are described in this document are used in the future phases of the software development cycle. The features described here meet the needs of all the users. The success criteria for the system are based in the level up to which the features described in this document are implemented in the system. manage other things associated with their

HobbySea.com

Page 22

1.3 Overview The SRS will provide a detailed description of the Online Job Portal System. This document will provide the outline of the requirements, overview of the characteristics and constraints of the system. 2 User characteristics The users of the system are members and the admin who maintain the system. The members are assumed to have basic knowledge of the computers and Internet browsing. The admin of the system to have more knowledge of the internals of the system and is able to rectify the small problems that may arise due to disk crashes, power failures and other catastrophes to maintain the system. The proper user interface, users manual, online help and the guide to install and maintain the system must be sufficient to educate the users on how to use the system without any problems.

3 Constraints

The information of all the users must be stored in a database that is accessible by the Job Portal. The Job Portal is connected to the computer and is running all 24 hours a day. The users access the Job Portal from any computer that has Internet browsing capabilities and an Internet connection. The users must have their correct usernames and passwords to enter into the Job Portal.

HobbySea.com

Page 23

4 Assumptions and dependencies

The users have sufficient knowledge of computers. The Computer should have Internet connection and Internet server capabilities. The users know the English language, as the user interface will be provided in English The product can access the members database.

5 System Features / Functionalities

5.1 Functionalities for Administrator Login Administrator has to enter his username and password to login. If the username and password is valid then the administrator is directed to his home page from where he can control all the features of Job Portal.

Change Password Administrator can change his password from his account with full authentication.

Manage Home Page Ads Administrator can easily manage home page ads from his account. And these ads are displayed dynamically on the home page of the Job Portal.

Manage Tip of the Day Administrator can easily manage tip of the day from his account and after this tip of the day is displayed on the home page.

Manage Job Portal Information Administrator can easily manage Contact Us and About Us from his account under the Mange Job Portal information section.
HobbySea.com Page 24

Activate/Deactivate Employer Administrator is responsible for activating or deactivating employer.

Job Portal Reports Administrator can access the reports related to Job Portal such as number of hits on Job Portal, number of total employer, jobseeker and jobs.

Manage Database Administrator can manage database for example administrator can add new industry type from his account without manually changing database.

6 Usability The system shall allow the users to access the system from the Internet using HTML or its derivative technologies. The system uses a web browser as an interface. Since all users are familiar with the general usage of browsers, no specific training is required. The system is user friendly and self-explanatory.

7 Reliability The system has to be very reliable due to the importance of data and the damages incorrect or incomplete data can do. To achieve this following steps are taken Client side validation Server-side validation User password is md5 encrypted
HobbySea.com Page 25

8 Software Requirements Operating System User Interface Programming Language Web Server Database : : : : : Windows-7/2003 HTML PHP 5.5 Apache MySQL

9 Hardware Requirements:

Processor Hard Disk RAM

: : :

Intel 40GB 512MB or more

HobbySea.com

Page 26

10 Technologies Used:

PHP:

PHP code is interpreted by a web server with a PHP processor module which generates the resulting web page: PHP commands can be embedded directly into an HTML source document rather than calling an external file to process data. It has also evolved to include a command-line interface capability and can be used in standalone graphical applications. Whenever request comes for a static html or htm page the web server returns the page to the client. Here script processing or execution is not done. Such pages don't have dynamic capability and content is fixed. In Windows server the web server is IIS and for Linux systems Apache web servers are generally used. However PHP and Apache run well in Windows platform also. This site is supporting PHP on a Linux platform. In the same way the server can run other scripts like ASP, Perl etc. In case of PHP pages the server does not return the page directly to the client. The web server runs the PHP engine and the output of the executed script is posted back to the client machine. Depending on the various input conditions the page content can be changed. PHP can easily connect to MySQL database and this combination is very popular in the internet. As per the client side browser it does not understand PHP or any other language. It can understand HTML, JavaScript, and CSS etc. BENEFITS OF PHP PHP is one of the most popular server side scripting languages running today. It is used for creating dynamic web-pages that interact with the user offering customized information. PHP offers many benefits; it is fast, stable, secure, easy to use and open source (free). Speed PHP is considered to be the fastest, as stated previously, when compared with other programming languages.
HobbySea.com Page 27

Normally when try to connect a database and fetch certain data, it usually takes time to connect the database, execute the statement, and get the data across. When these operations are performed by PHP it is really faster when compared with other types of scripting languages. Not only for the speed when connecting the database but also while using over other important applications. Because of its high performance of speed, PHP is being used for some of the Important administrations like the server administration over the web, mail Functionalities. Open Source PHP is open source; open source is one where the user is given a free license to Remodel or recode PHP, according to their wish. Source code is shipped with PHP. Multi-Platform PHP supports various platforms, which mean PHP can be installed on almost every operating system, like the window-x, Linux, etc. Easy Syntax PHP syntax is quite easy to code, all the syntax are similar to the C language syntax. PHP is free software released under the PHP License, which is incompatible with the GNU General Public License (GPL) due to restrictions on the usage of the term PHP. PHP can be deployed on most web servers and also as a standalone shell on almost every operating system and platform, free of charge.

HobbySea.com

Page 28

MySQL: MySQL (My S-Q-L, officially, but also called My Sequel") is the world's most widely used open source relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (and other 'AM' stacks). LAMP is an acronym for "Linux, Apache, MySQL, and Perl/PHP/Python." Free-software-open source projects that require a full-featured database management system often use MySQL. MySQL can be used for a variety of applications, but is most commonly found on Web servers. A website that uses MySQL may include Web pages that access information from a database. These pages are often referred to as "dynamic," meaning the content of each page is generated from a database as the page loads.

Websites that use dynamic Web pages are often referred to as database-driven Websites. Many database-driven websites that use MySQL also use a Web scripting language like PHP to access information from the database. MySQL commands can be incorporated into the PHP code, allowing part or all of a Web page to be generated from database information. Because both MySQL and PHP are both open source (meaning they are free to download and use), the PHP/MySQL combination has become a popular choice for database-driven websites.

HobbySea.com

Page 29

Features of MySQL The following list shows the most important properties of MySQL. Relational Database System: Like almost all other database systems on the market, MySQL is a relational database system. Client/Server Architecture MySQL is a client/server system. There is a database server (MySQL) and arbitrarily many clients (application programs), which communicate with the server; that is, they query data, save changes, etc. The clients can run on the same computer as the server or on another computer (communication via a local network or the Internet). SQL compatibility MySQL supports as its database language -- as its name Suggests SQL (Structured Query Language). SQL is a standardized language for querying and updating data and for the administration of a database. There are several SQL dialects (about as many as there are database systems). MySQL adheres to the current SQL standard (at the moment SQL: 2003), although with significant restrictions and a large number of extensions. Programming languages: There are quite a number of APIs (application Programming interfaces) and libraries for the development of MySQL applications. For client programming you can use, among others, the languages C, C++, Java, Perl, PHP, and Python. ODBC MySQL supports the ODBC interface Connector/ODBC. This allows MySQL to be addressed by all the usual programming languages that run under Microsoft Windows (Delphi, Visual Basic, etc.). The ODBC interface can also be implemented under UNIX, though that is seldom necessary.

HobbySea.com

Page 30

Platform independence It is not only client applications that run under a variety of operating systems; MySQL itself (that is, the server) can be executed under a number of operating systems. The most important are Apple Macintosh OS X, Linux, Microsoft Windows, and the countless UNIX variants, such as AIX, BSDI, FreeBSD, HP-UX, OpenBSD, Net BSD, SGI Iris, and Sun Solaris. Speed MySQL is considered a very fast database program. Relational Database Management System (RDBMS) An RDBMS is a database management system where all data visible to the user is organized strictly as tables of data values. All database operations work on these tables. RDBMS has 3 main features, which are as follows: Data is stored in a number of tables. These tables may or may not have any Relationships, normally each table in a database have some relationship with One or more tables. These relationships greatly help in effective organization of data in a system. Integrity rules on table make data consistent and secure. Relational Operators are used for manipulating data. WAMP: WAMPs are packages of independently created programs installed on computers that use a Microsoft windows operating system. WAMP (computing) is an acronym formed from the initials of the operating system Microsoft Windows and the principal components of the package Apache, MySQL and one of PHP, Perl or python Apache is a web server. MySQL is an open-source database. PHP, Perl and Python are scripting languages that can manipulate information held in a database and generate web pages dynamically each time content is requested by a browser. Other

HobbySea.com

Page 31

programs may also be included in a package, such as phpMyAdmin which provides a graphical user interface for the MySQL database manager. HTML: Hypertext Markup Language (HTML) is a language for describing how pages of text, graphics, and other Information are organized, formatted, and linked together. It is not really a programming language in the sense of COBOL or Visual Basic, but it does provide powerful capabilities for text formatting and output display. The original purpose of HTML was primarily as a tool for making text documents readily available on the Internet. Basic graphic support was added, and the things started to take off. Now we have sound, live video, retail catalogs, and much, much more available to us. HTML pages are the standard interface to the Internet. This basic language provides the necessary nuts and bolts for building Web pages.

HTML stands for Hyper Text Markup Language and was developed specifically for use on the system of links, which can be non-sequential in order. HTML is not a programming language. It is a marking up language used for linking one piece of information to another. Using a markup language means that tags can be added to the words in the document and web enable them. A tag is a set of descriptive formatting codes used in HTML document that instructs a web browser how to display text and graphics on a web page.

HobbySea.com

Page 32

MVC:
Modelviewcontroller (MVC) is a software architecture pattern which separates the representation of information from the user's interaction with it. The model consists of application data, business rules, logic, and functions. A view can be any output representation of data, such as a chart or a diagram. Multiple views of the same data are possible, such as a bar chart for management and a tabular view for accountants. The Controller mediates input, converting it to commands for the model or view. The central ideas behind MVC are code reusability and separation of concerns.

HobbySea.com

Page 33

AJAX:

Ajax (an acronym for Asynchronous JavaScript and XML) is a group of


interrelated web development techniques used on the client-side to create asynchronous web applications. With Ajax, web applications can send data to, and retrieve data from, a server asynchronously (in the background) without interfering with the display and behavior of the existing page. Data can be retrieved using the XMLHttpRequest object. Despite the name, the use of XML is not required (JSON is often used instead), and the requests do not need to be asynchronous.[2] Ajax is not a single technology, but a group of technologies. HTML and CSS can be used in combination to mark up and style information. The DOM is accessed with JavaScript to dynamically display, and allow the user to interact with, the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.

HobbySea.com

Page 34

ER Diagram

Products

Payment

Price

Administrator/ Seller

Online Shopping portal

Website General Settings


Settings

Shipping Member authentication

Edit File
General terms and conditions

Shipping details
Home page

Shopping page

HobbySea.com

Page 35

DFD

Zero level:

CUSTOMER
Order/Enquiry Order acceptance/cancellation Status

HobbySea.com
Details Add/update catalogue

Payment Options

ADMINISTRATOR
Customer order/billing Details

HobbySea.com

Page 36

ADMINISTRATOR

Add/Remove products

Manage website info. information

Login Admin Admin Login Admin home

Manage products

Approve product shipment

HobbySea.com

Page 37

USE CASE DIAGRAM ADMINISTRATOR

HobbySea.com

Page 38

CHAPTER 3 SYSTEM DESIGN

HobbySea.com

Page 39

SYSTEM DESIGN APPROACH


System design is a solution, a "how to" approach to the creation of a new system. Design is the first step in the development phase for any engineered product or system. The designer's goal is to produce a model or representation of an entity that will later be built. Beginning, once system requirements have been specified and analyzed, system design is the first of the three technical activities - design, code and test that is required to build and verify software. The importance can be stated with a single word "Quality". Design provides us with representations of software that can assess for quality. Design is the only way that we can accurately translate a customer's view into a finished software product or system. Software design serves as a foundation for all the softwareengineering steps that follow. Without a strong design we risk building an unstable system -one that will fail when small changes are made; one that will be difficult to test; one whose quality cannot be assessed until the last stage. During design, progressive refinements of data structure, program structure, and procedural details are developed, reviewed and documented. System Design phase comes after the successful completion of the analysis phase. The System design stage is the most important stage of the System Development Life Cycle (SDLC). Two design approaches are most common in the design methodology. Top down Approach Bottom up Approach

There are some objectives that are necessary for successful design and implementation of the system. The objectives are as follows:

The system should be interactive. The system should be user friendly. The system should support data integrity.
HobbySea.com Page 40

The system should be menu driven.

The system should provide editing facility for correcting and updating
available data.

The system should be so designed that maximum utilization of the


available computer resources is done.

The system should prompt for any error made by user at the time of data
entry.

The system should be expandable so as to there should be scope for


further work. The design step produces a data design, an architectural design, an interface design, and a procedural design. The data design transforms the information domain model created during the analysis phase into data structures that will be required to implement the software. The objects, relationships and detailed data content provide the basis for the data design activity. The architectural design defines the relationship among major structural elements of the program. The interface design describes how the software communicates within itself, to the systems that inter-operate with it and with humans who use it. An interface implies a flow of information. The procedural design transforms structural elements of the program architecture into a procedural description of software components. During design we make decisions that will ultimately affect the success of software construction. The importance of design can be stated with a single word "quality".

HobbySea.com

Page 41

Structural design of shopping portal

Request C
f Request/Reply for customer/ Administrator

CUSTOMER
Response

APPLICATION SERVER
DATABASE

Request

ADMINISTRATOR

Response

Basic Outline of the website

HobbySea.com

Page 42

State chart Diagram Admin Login

Login details

Validate login

Unsuccessful
Invalid

Successful
Logged in

HobbySea.com

Page 43

Database Tables
admin_pages
Table comments: Admin page table

Column id name title content1 content2 created _date

Type int(10) varchar(50) Text Text Text Date

Null No No No No No No

Field details : Name name of the page for example about us , contact us Title title of the page Content1 and content2 contain content of the page

Admin_uploads
Table comments : Table to manage admin upload for example homepage ads

Column fid filename url type

Type int(11) varchar(256) varchar(30) varchar(20)

Null No Yes Yes Yes

Default

Comments

NULL NULL

ads url type of content

Field details : Filename name of the uploaded file Url URL linked to the file incase of ads type contain type of content

HobbySea.com

Page 44

company_details
Table comments: details of each company

Column id company_name website

Type int(5) varchar(50) varchar(50)

Null No No Yes

Default

NULL

industry_type

smallint(6)

No

key_functional_area status creation_date last_update city country

varchar(150) enum('0', '1') Datetime Timestamp varchar(50) varchar(30)

No No Yes No No No 1 NULL

Comments unique id for each company name of company name of website 4-itConsultant,5software_development, 6-networking,7finance,8databaseConsultant,9domainManagement comma seperated major functional area of company 0 is active, 1 is inactive creation time of company

CURRENT_ date and time of last TIMESTAM updation P city of company location country where company is located

employer_details Table comments: employer profile details

Column id user_id company_id

Type int(5) int(5) int(5)

Null Default Links to No No No

contact_number varchar(20) No gender enum('10', '11') No 10

Comments unique id for each employer foreign key to users users -> id table company_detai foreign key to ls -> id company_details contact number of employer 10-male,11-female

HobbySea.com

Page 45

inactive_users
Table comments: inactive_users

Column id user_id validation_string

Type int(5) int(5)

Null No No

varchar(40) No

Links to Comments unique id for each user users -> foreign key to users id table validation string to verify email

jobs_applied
Table comments: details of job applied

Column job_id user_id date_of_applying id

Type int(5) int(5)

Null No No

Default

timesta No mp int(5) No

Comments foreign key to jobs_available jobs_avialable_t > id able foreign key to users -> id users table date and time of CURRENT_TIM applying job ESTAMP unique id of each job applied

Links to

HobbySea.com

Page 46

jobs_available Table comments: details of job available

Column id name_of_post experience_required

Null Links to Comments No unique id for each job No name of opening No required experience for the job employe employer_id int(5) No r_details foreign key to employer_details -> id date_of_job_posted Datetime No date on which job is posted date_of_last_applying Datetime No last applying date expected_salary int(11) No expected salary for the job status enum('0', '1') No 0 is active , 1 is inactive last_updated Timestamp Yes date and time of last updation job_description varchar(200) No brief decription of job job_location varchar(20) No location of the available job job_category varchar(20) No category of the job available keywords varchar(150) No meta data for this job etnry

Type int(5) varchar(40) tinyint(4)

jobseeker_educational_details Table comments: jobseeker educational details

Column id

Type int(5)

Null No

personal_id highest_degree graduation_degree

int(5)

No

varchar(30) No varchar(30) No

post_graduation_degree varchar(30) Yes PhD other_degree last_update varchar(30) Yes varchar(30) Yes timestamp Yes

Links to Comments unique id for edcational details for each jobseeker jobseeker _personal foreign key to _details - jobseeker_personal_details > id highest degree of jobseeker graduation degree of jobseeker post graduation degree of jobseeker PhD degree if any of jobseeker any other degree or certifcation of jobseeker date and time of last updation

HobbySea.com

Page 47

jobseeker_personal_details Table comments: jobseeker personal details

Column id user_id firstname middlename lastname gender

date_of_birth permanent_addre varchar(300) ss current_address varchar(300) current_city varchar(50) current_state varchar(50) country varchar(50) pincode int(10) contact_number last_update

Type int(5) int(5) varchar(50) varchar(50) varchar(50) enum('10', '11') Date

Null No No No Yes No No No No No No No No No

Links to

Comments unique for each profile users -> id foreign key to users table first name of the jobseeker middle name of the jobseeker last name of the jobseeker 10 is male, 11 is female date of birth of the jobseeker permanent address of the jobseeker current address of jobseeker current city of user current state of jobseeker nationality of job seeker pincode of current_city current contact number of jobseeker date and time of last updation

varchar(15) No Timestamp Yes

jobseeker_professional_details Table comments: jobseeker professional details

Column

Comments unique id for professional id int(5) No details of each jobseeker foreign key to jobseeker_perso jobseeker_personal_details personal_id int(5) No nal_details -> id table experience of jobseeker in experience tinyint(4) No years keyskills varchar(150) No key skills of jobseeker current_industr name of current industry of varchar(40) No y jobseeker current working area of the functional_area varchar(50) No jobseeker date and time of last last_update Timestamp Yes updation

Type

Null Links to

HobbySea.com

Page 48

jobseeker_resume Table comments: jobseeker resume

Column id personal_id resume resume_header extension

Type int(5)

Null Links to No jobseeker_p int(5) No ersonal_det ails -> id mediumblob No varchar(100) Yes Tinytext No

Comments unique id for each resume foreign key to jobseeker_personal_details resume of jobseeker header of the resume extension of resume like .doc or .pdf last update time and date of resume uploading

last_updated_on Timestamp No

master_table
Table comments: table used to search data throughout the database

Column id codetype codevalue status

Type int(10) varchar(20) varchar(20) enum('0', '1')

Null No No No No

Default

Comments the unique id coloumn name of different tables value of the above coloumn 0 is active , 1 inactive

HobbySea.com

Page 49

users Table comments: login details of jobseeker and employer

Column

Comments unique id for each id int(5) No jobseeker and employer unique password for password varchar(50) No each user display name of the displayname varchar(50) No user unique email id of email varchar(150) No each userid 1-admin,2-jobseeker,3usertype smallint(6) No 2 employer creation_date datetime No creation time of user last_login_tim CURRENT_TIMESTA last login date and timestamp Yes e MP time status enum('0', '1') No 1 0 is active, 1 is inactive

Type

Null Default

HobbySea.com

Page 50

CHAPTER 4 CONCLUSION AND SNAPSHOTS

HobbySea.com

Page 51

SCREEN SHOTS

Details of all the products with their description

Creation of an Account of a Customer.

HobbySea.com

Page 52

Webpage Explaining how to order?

Contact us information.

HobbySea.com

Page 53

Product along with its description.

New Products category.

HobbySea.com

Page 54

Returning Customer login.

HobbySea.com

Page 55

Conclusion
Administrator module plays a vital role in shopping portal as it is responsible for administration and maintenance of whole shopping portal. Admin can add/delete product and its detail. Admin could also manage site information like about us and contact us from its account there is no need to programmatically change content of shopping portal.

HobbySea.com

Page 56

CHAPTER 5 TESTING

HobbySea.com

Page 57

TESTING PLAN:
The review of OO analysis and design models is especially useful because the same semantic constructs appear at the analysis, design and code levels. Therefore, a problem in the definition of class attributes that is uncovered during analysis will circumvent side effects that might occur if the problem were not discovered until design or code. If the error remains undetected during design and passes into the coding activity, considerable effort will be expended to generate code that implements an unnecessary attribute, two unnecessary operations, messages that drive interblent communication and many other related issues. In addition, testing of the class will absorb more time than necessary. Once the problem is finally uncovered, modification of the system must be carried out with the everpresent potential for side effects that are caused by change. The objective of system testing is to ensure that all individual programs are working as expected, that the programs link together to meet the requirements specified and to ensure that the computer system and the associated clerical and other procedures work together. Systems are not designed as entire systems not they are tested as single systems. The analyst must perform both unit and system testing. An iterative development process yields increasingly improved versions of a software system until it is ready for deployment. Each iteration includes a mix of analysis, design, construction and testing resulting in a demonstrable form of the software that can be validated and refined. In unit testing the testing of programs that make the system is done. Unit testing gives stress on modules independently one another. Module is tested and necessary modification is made.

HobbySea.com

Page 58

TESTING STRETEGY 1) SYSTEM TEST


The System tests will focus on the behavior of the system. User scenarios will be executed against the system as well as screen mapping and error message testing. Overall, the system tests will test the integrated system and verify that it meets the requirements defined in the requirements document

2) PERFORMANCE TEST
Performance test will be conducted to ensure that the systems response times meet the user expectation and do not exceed the specified performance criteria. During these tests, response times will be measured under heavy stress and/or volume.

3) SECURITY TEST
Security tests will determine how secure the system is. The tests will verify that unauthorized user access to confidential data is prevented.

4) AUTOMATED TEST
A suite of automated tests will be developed to test the basic functionality of the system and perform regression testing on areas of the systems that previously had critical/major defects. The tool will also assist us by executing user scenarios thereby emulating several users.
HobbySea.com Page 59

5) STRESS AND VOLUME TEST


We will subject the payroll system to high input conditions and a high volume of data during the peak times. The System will be stress tested using twice the number of expected users.

6) RECOVERY TEST
Recovery tests will force the system to fail in a various ways and verify the recovery is properly performed. It is vitally important that all payroll data is recovered after a system failure & no corruption of the data occurred.

7) DOCUMENTATION TEST
Tests will be conducted to check the accuracy of the user documentation. These tests will ensure that no features are missing, and the contents can be easily understood.

8) BETA TEST
The Payroll department will beta tests the new payroll system and will report any defects they find. This will subject the system to tests that could not be performed in our test environment.

HobbySea.com

Page 60

9) USER ACCEPTANCE TEST


Once the payroll system is ready for implementation, the Payroll department will perform User Acceptance Testing. The purpose of these tests is to confirm that the system is developed according to the specified user requirements and is ready for operational use.

TESTING METHOD: BLACK-BOX TESTING


In using this strategy, the tester views the program as a black box, tester doesnt see the code of the program: Equivalence partitioning, Boundary value analysis, Error guessing.

WHITE-BOX TESTING
In using this strategy, the tester examines the internal structure of the program: Statement coverage, Decision coverage, condition coverage, Decision/Conditional coverage, Multiple condition coverage.

GRAY-BOX TESTING
In using this strategy Black box testing can be combine with knowledge of database validation, such as SQL for database query and adding/loading data sets to confirm functions, as well as query the database to confirm expected result.

HobbySea.com

Page 61

TESTING PRINCIPLES All tests should be traceable to customer requirement. Test should be planned along before testing begins. The Pareto principle applies to software testing. Testing should begin in small and progress toward testing in the large Exhaustive testing is not possible. To be most effective, testing should be conducted by an independent
third party.

Input in page of website

Server act upon entry

Expected output

If expected output is match with actual output then it is a successful testing

HobbySea.com

Page 62

CHAPTER 6 BIBLIOGRAPHY

HobbySea.com

Page 63

Online Resources
http://www.php.net http://www.w3schools.com/Ajax/ http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers http://www.google.com

Books
PRO PHP AND JQUERY PHP AND MYSQL SOFTWARE ENGINEERING : : : Jason Lengstorf Head first series K.K Aggarwal

HobbySea.com

Page 64

Appendix [sample source code]


IndexMain.php main controller
<?php ini_set("display_errors","1"); ini_set( 'error_reporting', "E_ALL" ); require_once($_SERVER['DOCUMENT_ROOT'].'/jobportal/config/constants. php'); require_once($_SERVER['DOCUMENT_ROOT'].'/jobportal/library/database/ usage.class.php'); require_once($_SERVER['DOCUMENT_ROOT'].'/jobportal/classes/common. class.php'); require_once(ADMIN_LANGUAGE_PATH); #admin language file. require_once($_SERVER['DOCUMENT_ROOT'].'/jobportal/config/JobSeeker _Language.php'); require_once($_SERVER['DOCUMENT_ROOT'].'/jobportal/config/employer_ language.en.php'); if(isset($_REQUEST['controller']) && !empty($_REQUEST['controller'])){ $controller =$_REQUEST['controller']; //echo $controller;die(); }else{ $controller ='index'; //default controller } if(isset($_REQUEST['function']) && !empty($_REQUEST['function'])){ $function =$_REQUEST['function']; //echo $function;die(); }else{ $function ='landingPage'; //default function } //$controller=strtolower($controller); session_start(); $fn = SITE_ROOT.'controller/'.$controller . '.php'; # Setting controller path for each user based on their USERTYPE_SESSION if(isset($_SESSION['EMAIL_SESSION'])) { if($_SESSION['USERTYPE_SESSION']=='1') { $fn = SITE_ROOT.'controller/admin_controller/'.$controller . '.php'; //echo $fn;die(); #controller path for admin } elseif($_SESSION['USERTYPE_SESSION']=='2') {
HobbySea.com Page 65

$fn = SITE_ROOT.'controller/'.$controller . '.php'; #controller path for jobseeker } elseif($_SESSION['USERTYPE_SESSION']=='3') { $fn = SITE_ROOT.'controller/'.$controller . '.php'; #controller path for employer } } /*if(isset($_REQUEST['controller']) && !empty($_REQUEST['controller'])) {echo $fn;die();}*/ if(file_exists($fn)){ require_once($fn); $controllerClass=$controller.'Controller';//echo $controller; if(!method_exists($controllerClass,$function)){ die($function .' function not found'); } $obj=new $controllerClass; $obj-> $function(); }else{ die($controller .' controller not found'); } ?>

HobbySea.com

Page 66

AdminHome.php - controller
<?php /* @author : Ashwani Singh * @date : 21-03-2013 * @description : Admin home Controller * @module : Admin * @updated on : 04-03-2013 * @todo : add change admin password functionality */ class AdminHomeController extends common #extends /classes/common which contains model and view loader methods { #method to display admin home page public function display() { //session_start(); $this->loadView('AdminHome'); #loading admin home view } #method to load admin password change view public function adminChangePassword() { $this->loadView('AdminChangePassword'); } #method to change admin password public function changePassword() { //print_r($_POST);die; $currentPassword = strip_tags($_POST['currentPassword']); $newPassword = strip_tags($_POST['newPassword']); $confirmPassword = strip_tags($_POST['confirmPassword']); $temp=$this-> loadModel("AdminHome","validateUser",array("password"=>$currentPasswor d)); if($temp) { if ($newPassword == $confirmPassword) {
HobbySea.com Page 67

if(strlen($newPassword)>PASSWORD_LENGTH) { $temp=$this>loadModel("AdminHome","changePassword",$newPassword); if($temp) { echo PASSWD_CHANGE_MSG ; } else { echo PASSWD_CHANGE_FAILED_MSG ; } } else { echo PASSWORD_SIZE_ERROR ; } } else { echo PASSWORD_MISMATCH_ERROR ; } } else { echo WRONG_PASSWORD_ERROR ; } } }

HobbySea.com

Page 68

AdminHome.php - model
<?php /* @author : Ashwani Singh * @date : 08-04-2013 * @description : Admin Home Model * @module : Admin * @modified on : */ class AdminHomeModel { private $_email; private $_password; #method to obtain connection from mysql database public function dbConnect() { $config=array(); require_once(PDO); #including CXPDO class require_once(PDO_CONFIG); #Requiring configuration array for PDO $db = dbclass::instance($config); #calling static instance() method of dbclass #which returns connection object

return $db; #returning connection object } function validateUser($dataFromUser) { $db = $this->dbConnect(); session_start(); $data = array(); $data['tables'] = 'users'; $password=md5($dataFromUser['password']); $email = $_SESSION['EMAIL_SESSION']; $data['conditions'] = array( "email = '$email' AND ", "password =
HobbySea.com Page 69

'$password'" ); $result = $db->select($data); if ( $result->rowCount() == 1 ) { return 1; } else { return 0; } } function changePassword($dataFromUser) { $db = $this->dbConnect(); session_start(); $email = $_SESSION['EMAIL_SESSION']; $data = array("password"=>md5($dataFromUser)); $where = array("email = '$email'"); $result = $db->update('users',$data,$where); if ($result) return 1; else return 0; } } ?>

HobbySea.com

Page 70

AdminHome.php - view
<?php /* @author : Ashwani Singh * @date : 01-04-2013 * @description : Admin main view (landing page after login) * @module : Admin * @modified on : */

include_once 'header.php'; ?> <div id="main"> <div class="wrapper"> <div id="content"> <div class="block"> <!--write one block div for one box content--> <div class="holder"> <div class="frame"> <div class="title"> <h2><span><?php echo ADMIN_HOME; ?></span></h2> </div> <!--code here--> <div id="admin_content"> <img src=<?php echo IMAGE_PATH."admin_images/admin_home.jpg";?> /> </div> </div> </div> </div> </div> <div id="sidebar"> <div class="block"> <!--write one block div for one box sidebar--> <div class="holder"> <div class="frame"> <div class="title"> <h3><span><?php SITE_MAP; ?></span></h3> </div> <!--code here--> <div
HobbySea.com Page 71

id="admin_sidebar_anchor"> <a href="<?php echo SITE_PATH.'indexMain.php?controller=Email&function=emailLandingPage';? >"><?php echo EMAIL_ACCOUNT; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=AdminHome&function=adminChange Password';?>"><?php echo MANAGE_PASSWORD; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=HomePageAds&function=display';?>" ><?php echo MANAGE_ABOUT_US; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=SiteInformation&function=display';?> "><?php echo MANAGE_SITE_INFORMATION; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=EmployerManagement&function=disp lay';?>"><?php echo MANAGE_EMPLOYER; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=Reports&function=display';?>"><?ph p echo MANAGE_REPORTS; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=DatabaseManagement&function=displ ay';?>"><?php echo MANAGE_DATABASE; ?></a> </div> </div> </div> </div> </div> </div> </div> <?php include_once 'footer.php'; ?>

HobbySea.com

Page 72

You might also like