Top Banner

of 72

Online Shopping Portal Documentation

Oct 30, 2015

Download

Documents

Manoj Giri

Complete documentation for Online shopping portal
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • HobbySea.com Page 1

    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 2

    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 3

    Certificate by Company/ External Guide

    ( format will be issued by the company on letter head of the

    company)

  • HobbySea.com Page 4

    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.

    Dr. Girish Kumar Sharma

    Date: Head of Department (MCA)

    Bhai Parmanand Institute of Business Studies

  • HobbySea.com Page 5

    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 6

    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 7

    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 8

    CHAPTER 1

    INTRODUCTION

  • HobbySea.com Page 9

    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 10

    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 11

    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 12

    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 13

    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. Shopping

    online can give a great advantage to many people.

    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 14

    Software tools / Technology Used

    Language (Server Side) : PHP

    Front End (Client Side) : Html, CSS, Ajax

    Database : MySQL

    IDE : WAMP

    Operating System : Windows 7

    Method of Development : MVC (Model View

    Controller)

  • HobbySea.com Page 15

    CHAPTER 2

    SYSTEM

    ANALYSIS

  • HobbySea.com Page 16

    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 17

    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 18

    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 19

    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 20

    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 21

    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 22

    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 manage other things associated with their

    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.

  • HobbySea.com Page 23

    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 24

    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 25

    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 26

    8 Software Requirements

    Operating System : Windows-7/2003

    User Interface : HTML

    Programming Language : PHP 5.5

    Web Server : Apache

    Database : MySQL

    9 Hardware Requirements:

    Processor : Intel

    Hard Disk : 40GB

    RAM : 512MB or more

  • HobbySea.com Page 27

    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 28

    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 29

    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 30

    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 31

    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 32

    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 33

    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 34

    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 35

    ER Diagram

    Products Payment

    Price

    Settings

    Member

    authentication

    General terms

    and conditions

    Shipping details Shopping page

    Shipping

    Home page

    Administrator/

    Seller

    Website General

    Settings

    Edit File

    Online Shopping portal

  • HobbySea.com Page 36

    DFD

    Zero level:

    Order/Enquiry Order acceptance/cancellation Status

    Details Add/update catalogue

    Customer order/billing Details

    HobbySea.com

    CUSTOMER

    ADMINISTRATOR

    Payment

    Options

  • HobbySea.com Page 37

    ADMINISTRATOR

    Admin Admin home Admin Login

    Add/Remove

    products

    Manage

    website info.

    information

    Manage

    products

    Approve product

    shipment

    Login

  • HobbySea.com Page 38

    USE CASE DIAGRAM ADMINISTRATOR

  • HobbySea.com Page 39

    CHAPTER 3

    SYSTEM

    DESIGN

  • HobbySea.com Page 40

    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 software-

    engineering 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 41

    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 42

    Structural design of shopping portal Request C Request/Reply f for customer/ Administrator

    Response Request Response

    Basic Outline of the website

    DATABASE

    CUSTOMER

    ADMINISTRATOR

    APPLICATION

    SERVER

  • HobbySea.com Page 43

    State chart Diagram

    Admin Login

    Unsuccessful Successful

    Login details

    Validate login

    Invalid Logged in

  • HobbySea.com Page 44

    Database Tables

    admin_pages

    Table comments: Admin page table

    Column Type Null

    id int(10) No

    name varchar(50) No

    title Text No

    content1 Text No

    content2 Text No

    created _date Date 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 Type Null Default Comments

    fid int(11) No

    filename varchar(256) Yes

    url varchar(30) Yes NULL ads url

    type varchar(20) Yes NULL 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 45

    company_details

    Table comments: details of each company

    Column Type Null Default Comments

    id int(5) No unique id for each company

    company_name varchar(50) No name of company

    website varchar(50) Yes NULL name of website

    industry_type smallint(6) No 5

    4-itConsultant,5-software_development,6-networking,7-finance,8-databaseConsultant,9-domainManagement

    key_functional_area varchar(150) No comma seperated major functional area of company

    status enum('0', '1') No 1 0 is active, 1 is inactive

    creation_date Datetime Yes NULL creation time of company

    last_update Timestamp No CURRENT_TIMESTAMP

    date and time of last updation

    city varchar(50) No city of company location

    country varchar(30) No country where company is located

    employer_details

    Table comments: employer profile details

    Column Type Null Default Links to Comments

    id int(5) No unique id for each employer

    user_id int(5) No users -> id foreign key to users table

    company_id int(5) No company_details -> id

    foreign key to company_details

    contact_number varchar(20) No contact number of employer

    gender enum('10', '11')

    No 10 10-male,11-female

  • HobbySea.com Page 46

    inactive_users

    Table comments: inactive_users

    Column Type Null Links to Comments

    id int(5) No unique id for each user

    user_id int(5) No users -> id

    foreign key to users table

    validation_string varchar(40) No validation string to verify email

    jobs_applied

    Table comments: details of job applied

    Column Type Null Default Links to Comments

    job_id int(5) No jobs_available -> id

    foreign key to jobs_avialable_table

    user_id int(5) No users -> id foreign key to users table

    date_of_applying timestamp

    No CURRENT_TIMESTAMP

    date and time of applying job

    id int(5) No unique id of each job applied

  • HobbySea.com Page 47

    jobs_available

    Table comments: details of job available

    Column Type Null Links to Comments

    id int(5) No unique id for each job

    name_of_post varchar(40) No name of opening

    experience_required tinyint(4) No required experience for the job

    employer_id int(5) No employer_details -> id

    foreign key to employer_details

    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

    jobseeker_educational_details

    Table comments: jobseeker educational details

    Column Type Null Links to Comments

    id int(5) No unique id for edcational details for each jobseeker

    personal_id int(5) No

    jobseeker_personal_details -> id

    foreign key to jobseeker_personal_details

    highest_degree varchar(30) No highest degree of jobseeker

    graduation_degree varchar(30) No graduation degree of jobseeker

    post_graduation_degree varchar(30) Yes post graduation degree of jobseeker

    PhD varchar(30) Yes PhD degree if any of jobseeker

    other_degree varchar(30) Yes any other degree or certifcation of jobseeker

    last_update timestamp Yes date and time of last updation

  • HobbySea.com Page 48

    jobseeker_personal_details

    Table comments: jobseeker personal details

    Column Type Null Links to Comments

    id int(5) No unique for each profile

    user_id int(5) No users -> id foreign key to users table

    firstname varchar(50) No first name of the jobseeker

    middlename varchar(50) Yes middle name of the jobseeker

    lastname varchar(50) No last name of the jobseeker

    gender enum('10', '11')

    No 10 is male, 11 is female

    date_of_birth Date No date of birth of the jobseeker

    permanent_address

    varchar(300) No permanent address of the jobseeker

    current_address varchar(300) No current address of jobseeker

    current_city varchar(50) No current city of user

    current_state varchar(50) No current state of jobseeker

    country varchar(50) No nationality of job seeker

    pincode int(10) No pincode of current_city

    contact_number varchar(15) No current contact number of jobseeker

    last_update Timestamp Yes date and time of last updation

    jobseeker_professional_details

    Table comments: jobseeker professional details

    Column Type Null Links to Comments

    id int(5) No unique id for professional details of each jobseeker

    personal_id int(5) No jobseeker_personal_details -> id

    foreign key to jobseeker_personal_details table

    experience tinyint(4) No experience of jobseeker in years

    keyskills varchar(150) No key skills of jobseeker

    current_industry

    varchar(40) No name of current industry of jobseeker

    functional_area varchar(50) No current working area of the jobseeker

    last_update Timestamp Yes date and time of last updation

  • HobbySea.com Page 49

    jobseeker_resume

    Table comments: jobseeker resume

    Column Type Null Links to Comments

    id int(5) No unique id for each resume

    personal_id int(5) No jobseeker_personal_details -> id

    foreign key to jobseeker_personal_details

    resume mediumblob No resume of jobseeker

    resume_header varchar(100) Yes header of the resume

    extension Tinytext No extension of resume like .doc or .pdf

    last_updated_on Timestamp No last update time and date of resume uploading

    master_table

    Table comments: table used to search data throughout the database

    Column Type Null Default Comments

    id int(10) No the unique id

    codetype varchar(20) No coloumn name of different tables

    codevalue varchar(20) No value of the above coloumn

    status enum('0', '1') No 0 0 is active , 1 inactive

  • HobbySea.com Page 50

    users

    Table comments: login details of jobseeker and employer

    Column Type Null Default Comments

    id int(5) No unique id for each jobseeker and employer

    password varchar(50) No unique password for each user

    displayname varchar(50) No display name of the user

    email varchar(150) No unique email id of each userid

    usertype smallint(6) No 2 1-admin,2-jobseeker,3-employer

    creation_date datetime No creation time of user

    last_login_time

    timestamp Yes CURRENT_TIMESTAMP

    last login date and time

    status enum('0', '1') No 1 0 is active, 1 is inactive

  • HobbySea.com Page 51

    CHAPTER 4

    CONCLUSION AND SNAPSHOTS

  • HobbySea.com Page 52

    SCREEN SHOTS

    Details of all the products with their description

    Creation of an Account of a Customer.

  • HobbySea.com Page 53

    Webpage Explaining how to order?

    Contact us information.

  • HobbySea.com Page 54

    Product along with its description.

    New Products category.

  • HobbySea.com Page 55

    Returning Customer login.

  • HobbySea.com Page 56

    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 57

    CHAPTER 5

    TESTING

  • HobbySea.com Page 58

    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 ever-

    present 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 59

    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 60

    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 61

    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 62

    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.

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

    Input in page of

    website

    Server act

    upon entry Expected output

  • HobbySea.com Page 63

    CHAPTER 6

    BIBLIOGRAPHY

  • HobbySea.com Page 64

    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 : Jason Lengstorf PHP AND MYSQL : Head first series SOFTWARE ENGINEERING : K.K Aggarwal

  • HobbySea.com Page 65

    Appendix [sample source code]

    IndexMain.php main controller

  • HobbySea.com Page 66

    $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 67

    AdminHome.php - controller

  • HobbySea.com Page 68

    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 69

    AdminHome.php - model

  • HobbySea.com Page 70

    '$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 71

    AdminHome.php - view

  • HobbySea.com Page 72

    id="admin_sidebar_anchor">