ABSTRACT Online Jewellery Shop is basically used to build an application program which help people to find and buy latest design of jewellery with different categories like Gold Silver, Diamond . It is useful in the way that it makes an easier way to buy products online. Today most of the jewellery shop is useful for shopping site. The admin have lots of paper work and they are using desktop, spread sheet like MS Excel application to manage data in soft copy about user record. In this proposed jewellery System it will run in server and user can handle whole the registration activities. It has facilities to generate various types of reports (like pdf, excel) which are required by the management during event organizing. This application maintains the centralized database so that any changes done at a location reflects immediately. This is an online tool so more than one user can login into system and use the tool simultaneously. The aim of this application is to reduce the manual effort needed to manage transactions and historical data used in various gods owns. Also this application provides an interface to users to view the details about events. ACKNOWLEDGEMENT We have taken efforts in this project. However, it would not have been possible without the kind support and help of many Faculties. We would like to extend my sincere thanks to all of them. We highly indebted to LBS COLLEGE , PRATAPGARH for their guidance and constant supervision as well as for providing necessary information regarding the project & also for their support in completing the project. We would like to express my gratitude towards my parents & member of KIET for their kind co-operation and encouragement which help us in completion of this project. Last but not least, many thanks go to the head of the project, Mr. Deepak Singh whose have invested his full effort in guiding the team in achieving the goal. We have to appreciate the guidance given by other supervisor as well as the panels especially in our project presentation that has improved our presentation skills thanks to their comment and advices. We would like to express our special gratitude and thanks to all above mentioned people for giving us such attention and time. Our thanks and appreciations also go to our colleague in developing the project and people who have willingly helped us out with their abilities. ANITA MEENA LIST OF FIGURES Figure no Figure Name Fig no 1.1 Gant Chart Fig no 1.2 Pert Chart Fig no 3.1 E R Diagram Fig no 3.2 0-Level DFD Fig no 3.3 1-Level DFD Fig no 3.4 2-Level DFD Fig no 5.1 Home page Fig no 5.2 Admin Login Fig no 5.3 User Login Fig no 5.4 User Registration Fig no 5.5 Add to Cart Fig no 5.6 Checkout Fig no 6.1 Product Information Fig no 6.2 Category Record Fig no 6.3 Category Information Fig no 6.4 User Record Fig no 6.5 View Category Fig no 6.6 Contact Us Fig no 7.1 Validation for Login Fig no 7.2 Validation for Quantity Fig no 7.3 Validation for add to cart Fig no 7.4 Validation for add to cart Fig no 7.5 Validation for add to cart Fig no 7.6 Validation for check out Fig no 7.7 Validation for password Fig no 7.8 Validation for registration Fig no 7.9 Validation for registration LIST OF TABLES Table no Table Name Table no 4.1 Data Dictionary Table no 4.2 Admin Table no 4.3 User Table no 4.4 Cart Table no 4.3 Jewellery Table no 4.4 Main menu Table no 4.5 Sub menu TABLE OF CONTENTS Contents Page no. Declaration ii Certificate iii Abstract iv Acknowledgment v List of Tables vi List of Figures vii-viii CHAPTER 1 INTRODUCTION 1-6 1.1 Project Detail 1 1.2 Project Scope 2 1.3 Hardware and Software 3 1.4 Project Schedule 4-6 1.4.1 Gantt Chart 4 1.4.2 Gantt Chart 5-6 CHAPTER 2 TECHNICAL FEASIBILITY 7-13 2.1 Technical Feasibility 7 2.2 Technology Description 8-13 2.2.1HTML 8 2.2.2CSS 9 2.2.3BOOTSTRAP 10 2.2.4MY SQL 11 2.2.5PHP 12 2.2.6Javascript 13 CHAPTER 3 ER DIAGRAM AND DFD 14-20 3.1 E R Diagram 14-15 3.2 Data Flow Diagram 16-20 CHAPTER 4 BACKEND DESIGN 4.1 Data Dictionary 21-27 21-22 4.2 Database Tables 23-26 4.2.1 Admin 23 4.2.2 User 24 4.2.3 Cart 25 4.2.4 Jewellery 25 4.2.5 Main menu 26 4.2.6 Sub menu 27 CHAPTER 5 FRONTEND DESIGN 5.1 Input Form 28-35 28 5.1.1 Home Page 28-31 5.1.2 Login Form 32-33 5.1.3 User Registration 34 5.1.4 Add to Cart Form 34 5.1.5 Checkout Form 35 CHAPTER 6 PRODUCT INFORMATION 6.1 View Product Records 6.1.1 View Product Information 35-41 35-41 36 6.1.2 View Category Records 37 6.1.3 View Sub Category Records 38 6.1.4 View User Records 39 6.1.5 View Category of Product 40 6.1.3 Contact Us 41 CHAPTER 7 TESTING 41-70 7.1 Meaning 42 7.2 Test Cases 43-50 7.2.1 Validation for password 43 7.2.2 Validation for Quantity 44 7.2.3 Validation for Add to Cart 45-46 7.2.4 Validation for Credit Card 47-48 7.2.5 Validation For Password 49 7.2.6 Check for successfully registration 50 CHAPTER 8 ADVANTAGE AND LIMITATION 51-53 8.1 Advantages 51-52 8.2 Disadvantages 52-53 CHAPTER 9 SOFTWARE DEVELOPMENT LIFE CYCLE 53-58 9.1 SDLC and Its phases 53-58 CHAPTER 10 FUTURE SCOPE 59 10.1 Future Scope 59 CHAPTER 11 CONCLUSION 60 APPENDIX 61-71 CHAPTER 1 INTRODUCTION 1.1 Project Detail An Online Jewellery Shop The main goal of this project was to create shopping cart, which allows customers to shop and purchase the Jewellery products online.Moreover, the project is also designed in such a way it lets managers manage theproducts information. Customers can orders products, and they will be contacted tofurther process the orders. In today’s busy world, people don’t have time for their personal needs. And the technology fast that anyone can do by sitting in a room. If someone buy a new things , he can buy online with the help of Internet. The application is implemented in PHP and consists of two main components: • Admin and • Customer side Admin side consists of the features such as Creating Username & Password, Input Items, Modify Items, Delete items, Query Sale Data, Query Database’s data, and Logout. Customer side consists of the features such as Select Products, Search Products, Buy Items, Continue Shopping, View Cart, Checkout, Sign-in, Creating an Account, Bill/Ship Information, Confirm, Send Order, and Delete Order. There are also the future works for this application.There are mainly three such objectives which are as follows: • To shop in the comfort of your home, without having to step out of the door. • To be able to easily save money and compare prices from website to website. 1.2 Scope The scope of this system is to provide user comfortable environment of Purchasing and selling products and services over the internet without the need of going physically to the market is what online shopping all about. Online shopping is just like a retail store shopping that we do by going to the market, but it is done through the internet. Online shopping has made shopping painless and added more fun. Online stores offer product description, pictures, comparisons, price and much more. Few examples of these are Amazon.com, ebay.com, framt.com and the benefits of online shopping is that by having direct access to consumer,the online stores can offer products that cater to the needs of consumer,cookies can be used for tracking the customer selection over the internet or what is of their interest when they visit the site again. Online shopping makes use of digital technology for managing the flow of information, products, and payment between consumer, site owners and suppliers. Online shopping can be either B2B (business to business) or B2C (business to consumer) Shopping cart is one of the important facility provided in online shopping, this lets customer to browse different goods and services and once they select an item topurchase they can place the item in shopping cart, and continue browsing till the final selectionhave in the database. Limited access is available to the operator. As this is generic software it can be used by a wide variety of outlets (Retailers and Wholesalers) to automate the process of manually maintaining the records related to the subject of maintaining the stock and cash flow. 1.3 Hardware/Software Used The hardware requirements Online Jewellery Shop are • Processor: Pentium IV Processor • Hard Disk: 80 GB HDD • Ram: 512 MB and above The software specifications are • Operating System: Window 7 and above • HTML, CSS, Bootstrap (Front end) • MY SQL(Back end) • PHP(Server side programming) • XAMPP Server 1.4 Project Schedule 1.4.1 Gantt chart A Gantt chart is a type of bar chart, adapted by Karol Adamiecki in 1896 and independently by Henry Gantt in the 1910s,that illustrates a project schedule. Gantt charts illustrate the start and finish dates of the terminal elements and summary elements of a project. Terminal elements and summary elements comprise the work breakdown structure of the project. Modern Gantt charts also show the dependency (i.e., precedence network) relationships between activities. Gantt charts can be used to show current schedule status using percent-complete shadings and a vertical "TODAY" line as shown here. Although now regarded as a common charting technique, Gantt charts were considered revolutionary when first introduced.This chart is also used in information technology to represent data that has been collected. A Gantt chart is a horizontal bar chart developed as a production control tool in 1917 by Henry L. Gantt, an American engineer and social scientist. Frequently used in project management, a Gantt chart provides a graphical illustration of a schedule that helps to plan, coordinate, and track specific tasks in a project. A Gantt chart, commonly used in project management, is one of the most popular and useful ways of showing activities (tasks or events) displayed against time. On the left of the chart is a list of the activities and along the top is a suitable time scale. Each activity is represented by a bar; the position and length of the bar reflects the start date, duration and end date of the activity. This allows you to see at a glance: • What the various activities are. • When each activity begins and ends. • How long each activity is scheduled to last. • Where activities overlap with other activities, and by how much. • The start and end date of the whole project. To summarize, a Gantt chart shows you what has to be done (the activities) and when (the schedule). Figure 1.1 Gantt chart 1.4.2 Pert chart A PERT chart is a project management tool used to schedule, organize and coordinate tasks within a project. PERT stands for Program Evaluation Review Technique, a methodology developed by the U.S. Navy in the 1950s to manage the Polaris submarine missile program. A similar methodology, the Critical Path Method (CPM) was developed for project management in the private sector at about the same time. A PERT chart presents a graphic illustration of a project as a network diagram consisting of numbered nodes (either circles or rectangles) representing events, or milestones in the project linked by labeled vectors (directional lines) representing tasks in the project. The direction of the arrows on the lines indicates the sequence of tasks. In the diagram, for example, the tasks between nodes 1, 2, 4, 8, and 10 must be completed in sequence. These are called dependent or serial tasks. The tasks between nodes 1 and 2, and nodes 1 and 3 are not dependent on the completion of one to start the other and can be undertaken simultaneously. These tasks are called parallel or concurrent tasks. Tasks that must be completed in sequence but that don't require resources or completion time are considered to have event dependency. These are represented by dotted lines with arrows and are called dummy activities. For example, the dashed arrow linking nodes 6 and 9 indicates that the system files must be converted before the user test can take place, but that the resources and time required to prepare for the user test (writing the user manual and user training) are on another path. Numbers on the opposite sides of the vectors indicate the time allotted for the task. The PERT chart is sometimes preferred over the Gantt chart, another popular project management charting method, because it clearly illustrates task dependencies. On the other hand, the PERT chart can be much more difficult to interpret, especially on complex projects. Frequently, project managers use both techniques. Fig.1.2 Pert Chart CHAPTER 2 TECHNICAL FEASIBILITY 2.1 Technical feasibility Technical feasibility is one of the first studies that must be conducted after the project has been identified. In large engineering projects consulting agencies that have large staffs of engineers and technicians conduct technical studies dealing with the projects. In individual agricultural projects financed by local agricultural credit corporations, the technical staff composed of specialized agricultural engineers, irrigation and construction engineers, and other technicians are responsible for conducting such feasibility studies. The first step in the feasibility stage, Technical Feasibility, involves development of a working model of the product or service. It is not necessary that the initial materials and components of the working model represent those that actually will be used in the finished product or service. The purpose of the working model is to demonstrate, to your own satisfaction, that the product or service is functional and producible. It also provides a visual means to share your concept with others. The concept of a mechanical working model is easier to grasp and understand than software, ecommerce or service-related products. E-commerce models require verification of the ability to integrate the computers, servers, software and programming needed to support the operational concept. Services, packaged as a set of value-added activities, should deliver observable benefits. Definition: The process of proving that the concept is technically possible. Objective: The objective of the technical feasibility step is to confirm that the product will perform and to verify that there are no production barriers. Product: The product of this activity is a working model. 2.2 Technology Description 2.2.1 HTML HTML stands for HYPER TEXT MARKUP LANGUAGE, which is most widely used language on web to develop web pages. HTML refers to the way in which Web pages (HTML documents) are linked together. Thus, the link available on a web page is called Hypertext. HTML was created by Berners-Lee in late 1991 but “HTML 2.0” was the first standard HTML specification which was published in 1995. HTML 4.01 was a major version of HTML and it was published in late 1999. Though HTML 4.01 version is widely used but currently we are having HTML-5 version which is an extension to HTML 4.01, and this version was published in 2012. As its name suggests, HTML is a Mark-up Language which means you use HTML to simply “mark-up” a text document with tags that tells a web browser how to structure it to display. Originally, HTML was develop with the intent of defining the structure of documents like heading, paragraph, lists, and so forth to facilitate the sharing of scientific information between researchers. Now, HTML is being widely used to format web pages with the help of different tags available in HTML. 2.2.2 CSS Cascading Style Sheet is a style sheet language used for describing the presentation of a document written in a markup language Although most often used to set the visual style of web page and user interfaces written in HTML and XHTML, the language can be applied to any XML document, including plain XML, SVG and XUL, and is applicable to rendering in speech, or on other media. Along with HTML and JavaScript, CSS is a cornerstone technology used by most websites to create visually engaging webpages, user interfaces for web applications, and user interfaces for many mobile applications. CSS is designed primarily to enable the separation of document content from document presentation, including aspects such as the layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple HTML pages to share formatting by specifying the relevant CSS in a separate .css file, and reduce complexity and repetition in the structural content. The CSS specifications are maintained by the World Wide Web Consortium (W3C). Internet media type (MIME type) text/css is registered for use with CSS by RFC 2318 (March 1998). The W3C operates a free CSS validation service for CSS documents CSS has a simple syntax and uses a number of English keywords to specify the names of various style properties .A style sheet consists of a list of rules. Each rule or ruleset consists of one or more selectors, and a declaration block. 2.2.3 Bootstrap Bootstrap is a free and open-source, front-endweb framework for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions. Unlike many web frameworks, it concerns itself with front-end development only. Bootstrap is modular and consists of a series of less stylesheets that implement the various components of the toolkit. These stylesheets are generally compiled into a bundle and included in web pages, but individual components can be included or removed. Bootstrap provides a number of configuration variables that control things such as color and padding of various components. Since Bootstrap 2, the Bootstrap documentation has included a customization wizard which generates a customized version of Bootstrap based on the requested components and various settings. As of Bootstrap 4, Sass is used instead of less for the stylesheets.Each Bootstrap component consists of an HTML structure, CSS declarations, and in some cases accompanying JavaScript code. 2.2.4 My SQL MySQL is an open source RDBMS that relies on SQL for processing the data in database. MySQL provides APIs for the languages like C, C++, Eiffel, JAVA, Perl, PHP and Python. MySQL is most commonly used for web applications and for embedded applications and has become a popular alternative to proprietary database system because of its speed and reliability. MySQL can run on UNIX, Windows and Mac OS. MySQL is an essential part of almost every open source PHP application. Good examples for PHP/MySQL-based scripts are phpBB, os Cmmerce and Joomla. One of the most important things about using MySQL is to have a MySQL specialized host. MySQL is the most popular Open Source Relational SQL database management system. MySQL is one of the best RDBMS being used for developing web based software applications. MySQL is an open source relational database management system (RDBMS) based on Structured Query Language (SQL). MySQL runs on virtually all platforms, including Linux, UNIX, and Windows. Although it can be used in a wide range of applications, MySQL is most often associated with web-based applications and online publishing and is an important component of an enterprise stack called LAMP. LAMP is a Web development platform that uses Linux as the operating system, Apache as the Web server, MySQL as the relational database management system and PHP as the object oriented scripting language. (Sometimes Perl or Python is used instead of PHP.) 2.2.5 PHP The PHP Hypertext Preprocessor (PHP) is a programming language that allows web developers to create dynamic content that interacts with databases. PHP is basically used for developing web based software applications. This tutorial helps you to build your base with PHP. PHP started out as a small open source project that evolved as more and more people found out how useful it was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994. • PHP is a recursive acronym for "PHP: Hypertext Preprocessor". • PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic content, databases, session tracking, even build entire ecommerce sites. • It is integrated with a number of popular databases, including MySQL, Postgre SQL, Oracle, Sybase, Informix, and Microsoft SQL Server. • PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on the Unix side. The MySQL server, once started, executes even very complex queries with huge result sets in record-setting time. • PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4 added support for Java and distributed object architectures (COM and CORBA), making n-tier development a possibility for the first time. • PHP is forgiving: PHP language tries to be as forgiving as possible. • PHP Syntax is C-Like. 2.2.6 JavaScript JavaScript is a lightweight, interpreted programming language. It is designedfor creating network-centric applications. It is complimentary to and integrated with Java. JavaScript is very easy to implement because it is integrated with HTML. It is open and cross-platform. JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMA Script language specification. Alongside HTML and CSS, it is one of the three core technologies of World Wide Web content production; the majority of websites employ it and it is supported by all modern Web browsers without plugins. JavaScript is prototype-based with first-class functions, making it a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles.It has an API for working with text, arrays, dates and regular expressions, but does not include any I/O, such as networking, storage, or graphics facilities, relying for these upon the host environment in which it is embedded. Despite some naming, syntactic, and standard library similarities, JavaScript and Java are otherwise unrelated and have very different semantics. The syntax of JavaScript is actually derived from C, while the semantics and design are influenced by the Self and Scheme programming languages. JavaScript is also used in environments that are not Web-based, such as PDF documents, site-specific browsers, and desktop widgets. Newer and faster JavaScript virtual machines (VMs) and platforms built upon them have also increased the popularity of JavaScript for server-side Web applications. On the client side, JavaScript has been traditionally implemented as an interpreted language, but more recent browsers perform just-in-time compilation. It is also used in game development, the creation of desktop and mobile applications, and server-side network programming with runtime environments such as Node.js. CHAPTER: 3 ER DIAGRAM AND DFD 3.1 ER Diagram The Entity-Relationship Data Model (ERD) perceives the real world as consisting of basic objects, called entity & relationship among these objects. It was developed to facilitate database design by allowing specification of an enterprise schema, which represents overall logical structure of a database. The ERD model is very useful in mapping the meaning & interactions of the outside world enterprises onto a conceptual schema. The ERD model consists of the following major components ELLIPSE which represents attributes. • RECTANGLES which represents entity-sets. • DIAMONDS which represents the relationship sets. • LINES which link attributes to entity sets to relationship sets. ER-DIAGRAM:- Fig. 3.1 ER Diagram 3.2 DFD A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose. The development of DFD’S is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The loplevel diagram is often called context diagram. It consists single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD. The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. DFD SYMBOLS: In the DFD, there are four symbols: • A square defines a source(originator) or destination of system data • An arrow identifies data flow. It is the pipeline through which the information flows • A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows. • An open rectangle is a data store, data at rest or a temporary repository of data Process that tra Process that transforms data flow. Source or Source or Destination of data Data flow Data Store DFD (Data Flow Diagrams) • Level DFD Login/Sign up Fig: 3.2 DFD of 0 Level Manage Members 1-Level DFD Login/Sign up Registration Information of Users Bbjewels Fig: 3.3 1 Level DFD 2 Level DFD Fig: 3.4 2 Level DFD CHAPTER: 4 BACKEND DESIGN 4.1 Data Dictionary A data dictionary, or Metadata Repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format. The term can have one of several closely related meanings pertaining to databases and database management systems (DBMS): • A document describing a database or collection of databases. • An integral component of a DBMS that is required to determine its structure. • A piece of middleware that extends or supplants the native data dictionary of a DBMS. The terms data dictionary and data repository indicate a more general software utility than a catalogue. A catalogue is closely coupled with the DBMS software. It provides the information stored in it to the user and the DBA, but it is mainly accessed by the various software modules of the DBMS itself, such as DDL and DML compilers, the query optimizer, the transaction processor, report generators, and the constraint enforcer. On the other hand, a data dictionary is a data structure that stores metadata, i.e., (structured) data about information. The software package for a stand-alone data dictionary or data repository may interact with the software modules of the DBMS, but it is mainly used by the designers, users and administrators of a computer system for information resource management. These systems maintain information on system hardware and software configuration, documentation, application and users as well as other information relevant to system administration. If a data dictionary system is used only by the designers, users, and administrators and not by the DBMS Software, it is called a passive data dictionary. Otherwise, it is called inactive data dictionary or data dictionary. When a passive data dictionary is updated, it is done so manually and independently from any changes to a DBMS (database) structure. With an active data dictionary, the dictionary is updated first and changes occur in the DBMS automatically as a result. Table 4.1 Data Dictionary Name Description id Identification Of User, Admin, and Jewellery Id of the product email Mail Address of User mmenu_id Main menu id of the product Mmenu_name Menu name of the category of the product Submenu_name Name of the product link to the main menu Checkout Check for the buy the product Checked on Date and time of buy the product by user 4.2 Database Tables In the “Online Jewellery Shop” there are many modules some of them are as follows: 4.2.1 Admin It includes admin and Sales Executive. Basically in this table we can store .The information about products ,Categories ,Sub Categories and also information about the users. Table 4.2 Admin Column Name Type Size Description id Int 2o In this id of Admin is to be filled / P.K and auto generated email Varchar 50 Admin Email Id Password Varchar 10 Password Address Varchar 120 Address of Admin Mobile No Varchar 120 Mobile No of Admin 4.2.2 User This module is used to store the information and details of users. Basically in this table we can store information about the users like Id, Name, Surname, UserName, and Address. Table 4.3 User Column Name Type Size Description id Int 10 Id of the user /P.K Name Varchar 50 Name of the user Surname Varchar 20 User surname Username Varchar 30 User UserName Password Varchar 10 User Password Email Varchar 10 User EmailId 4.2.3 Cart This module is used to keep the information about cart. We can store the information about product like id, jewel_id, quantity and customer_id etc. Table 4.4 Cart Column name Type Size Description id Int 10 In this the id of the item is filled jewel_id Varchar 120 / P.K Name of the product id Qty Int 10 Quantity of the item 4.2.4 Jewellery In this table the information about the item sold is to be stored. The table contains the information like Transaction id, Item name, Selling price, Quantity, Amount, Date, Username Customer id etc. Table 4.5 Jewellery Column Name Type Size Description Id Int 10 Id / P.K Prodname Varchar2 50 Name of the product Path Varchar2 50 Category Varchar Path of the image of product Category of the product price Decimal 10,2 Price of the product Description Varchar2 100 Type Varchar2 50 Details about the product Type of product no views Number top sell Varchar2 120 Number of views of the product Top sell product Path Varchar2 200 Path of an image grand_total Decimal 10,2 Total amount payable 4.2.5 Main_Menu In this table the information about the main menu id, main menu name, is be stored. Table 4.6 Main_menu Column name Type Size Description mmenu_id Int 50 Id of the main menu mmenu_name Varchar 50 Name of the menu 4.2.6 Sub_Menu In this table the information about the id, main menu id, smenu name, smenu link is stored. Table 4.7 Sub_menu Column name Id Type Int Size 50 mmenu_id Int 50 smenu_name varchar2 100 Description Id of the product Main menu id of product Name of the product CHAPTER 5 FRONTEND DESIGN 5.1 Input Forms 5.1.1Home page Home page is the main page of the website .This page is tell about the information and look and feel of the website .This page is very important to make attractive. This page include all the features and functions of that website. HOME PAGE1:- Fig 5.1 Home Page HOME PAGE2:- RANDOM FEATURED:- TOP VIEWS:- ITEMS:- 5.1.2 Login Login is the process by which an individual gains access to a system by identifying and authenticating themselves. Basically using following form employee and admin gain access to the system. The person have to fill the user name and unique password and the press to the submit button. 5.1.2.1 Admin Login Admin login access the full system and can add or delete employees as well. The admin have to fill the user name and unique password and the press to the submit button to access admin area. Admin view all products details and users details. Fig 5.2 Admin Login 5.1.2.2 User Login User Login is the process by which an employee gains access to a computer system by identifying and authenticating themselves. The user have to fill the user name and unique password and the press to the submit button. User can buy and view products. Fig 5.3 User Login 5.1.3 User Registration The User registration form contains a list of fields that is used to input data about customer. To add a new customer we required to fill the given form which contain User name, email, contact number, and address and then submit it. Fig 5.4 User Registration 5.1.4 Add to cart forms Basically this form is used when any item is add in cart. At the time of this we should fill the details about the item like jewel id , quantity, product name, price, total items and delivery cost , amount, quantity, price and vat included on that product etc. Fig 5.5 Add to cart 5.1.5 CheckOut Form This is a form that is be used for gathering necessary information about new order. When we checkout the form than there is already have information about the order product and the details of user also. User must be filled which credit card number. Then there is a receipt is generated like invoice Fig 5.6 Checkout CHAPTER 6 PRODUCT RECORD 6.1 View Products Record 6.1.1 Products Information The following output form shows the whole information about the products which are involved the type , categories, and the description of the product. Following table shows product details, price of the product, category, and etc. Fig 6.1 Product Information 6.1.2 View Category Of Products The following output form shows the whole information about the category of an product item which is made by the admin . Following table shows menu id, menu name ,menu link. Fig 6.2 Category Records 6.1.3 View Sub Category Products The following form shows the information about the sub category of the products. Following table contain information like menu id , menu name, main menu id, sub menu name and link. Fig 6.3 Category Information 6.1.4 View User Record The following form shows the information about the user id, First Name, Last Name, User Name, Password, Email, Address, status. Fig 6.4 User Record 6.1.5 View Category Of Products The following output form shows the whole information about the category of an product item which is made by the admin. Following table shows menu id, menu name , menu link. Fig 6.5 View Category 6.1.6 Contact Us Fig 6.6 Contact Us CHAPTER 7 TESTING 7.1 Meaning Testing presents an interesting anomaly for the software engineer. During earlier software engineering activities, the engineer attempts to build software from an abstract concept to a tangible product. Now comes testing. The engineer creates a series of test cases that are intended to “demolish” the software that has been built. In fact, testing is the one step in the software process that could be viewed (psychologically, at least) as destructive rather than constructive. Software engineers are by their nature constructive people. Testing requires that the developer discard preconceived notions of the “correctness” of software just developed and overcome a conflict of interest that occurs when errors are uncovered. If testing is conducted successfully (according to the objectives stated previously), it will uncover errors in the software. As a secondary benefit, testing demonstrates that software functions appear to be working according to specification, that behavioral and performance requirements appear to have been met. In addition, data collected as testing is conducted provide a good indication of software reliability and some indication of software quality as a whole. But testing cannot show the absence of errors and defects, it can show only that software errors and defects are present. It is important to keep this (rather gloomy) statement in mind as testing is being conducted. 7.2 Test Cases 7.2.1 Validation for password field Checking for the user name and password is correct or not. Fig. 7.1 7.2.2 Validation for enter quantity field Checking for the quantity of product when the user buy product. Fig. 7.2 7.2.3 Validation for Add to cart field Checking for required to the add to cart for buy product. If we click on ok than item is added in cart. If we click on abort or cancel than product is not add in cart. Fig. 7.3 Fig. 7.4 Fig. 7.5 7.2.4 Validation for credit card field is not empty Entering the credit card number is required for the product. Credit card must be have 14 digits. Fig. 7.6 Fig. 7.6 7.2.5 Validation for password is strong when we register There is a strong password we use when we register to buy the product. Fig. 7.7 Fig. 7.8 7.2.6 Check for successfully registration Fig. 7.9 CHAPTER 8 ADVANTAGES AND LIMITATION 8.1 Advantages • Massive choice : This particular point is one of the biggest advantages of online jewelry shopping and at the same time a disadvantage too. On the other hand choice and diversity means that you will find what you are looking for, even if you are not very certain what exactly it is and you will find it at the best possible price, which brings us to the next point. Competitive prices : Yes, it is logical for the prices to be more competitive online, exactly because of the massive choice. The convenience of being the only jeweler in town is replaced online, by the alternative of being a jewelry shop in enormous "jewelry only" shopping mall with thousands of jewelry shops next to each other, selling similar merchandise. The online jewelry retail stores are ran on very low cost, enabling the merchants to significantly narrow their markup margins and still make reasonable profit. • Information: Any information about jewelry, diamonds and precious stones is widely available on the net and you don't need particular computer skills or a lot of time to obtain it. Armed with knowledge and ability to compare value for money at the click of the mouse the online customer is not to be taken for granted. Today's jewelers , whether they like it or not, will face educated customers, longing for the best value for their hard earned cash. • .Time saving: This advantage of online jewelry shopping is very obvious. The time necessary to visit an online jeweler, looking for particular piece is an average of 6 minutes if you are using the assistance of JewelGateway and about 20 minutes otherwise, considering the search and checking the sometime surprisingly well positioned irrelevant hits. The time to visit a conventional jewelry shop depends on many factors, but it will suffice to say that it is not in the comparable margins • Convenience : Very much connected to the time topic but there is more. I would like to mention, time taken from work, time taken on weekend (depending on the jeweler's trading hours), making an appointment (and stick to it), driving to and from, looking for parking etc. After all this effort the inventory you will be seeing will be limited in comparison to your online choice. The guidance and advice you will be given will be sale orientated and in most cases not 100% objective. 8.2 Disadvantages • Relatively large amounts paid in advance: This is one matter with roots in the psychological background of most of us and it takes time to over ride it. The modus operandi of small scale trade for millennia is to immediately get what you paid for. In jewelry language: you put the ring on your finger, you pay for it and keep it there. • Security of payment and shipping: The security of your payment is a serious issue and you have to make sure it is properly dealt with by checking the security policy of the jewelry merchant. In many cases though, the merchant is as exposed to fraud, as the customer and even more, since he have to ship an expensive jewelry before the payment is cleared. The customer have 3 to 7 days window to cancel the payment, while the shipping is irreversible. • Impossibility to examine and try on: A major disadvantage, since very few pieces of jewelry fits well everybody. The touch of the polished gold or the glitter of a real diamond is impossible to simulate fully on the web page and thus, lives space for misconception. However this is promptly addressed with the implementation of proper return policy. A good return policy is one which provides a 30 day money back guarantee or possibly longer. • Overchoice: The advantage of massive and diverse choice in overdose turns into disadvantage. If you write "diamond ring" in your browser you will get approximately 8 million entries. Not all of them are jewelry merchants but a good deal are, besides how could one know. • Impatience and Conservatism: These personal qualities of some customers, are big disadvantage to the online jewelry shopping and unfortunately there is no viable strategy to deal with them. My only advice to the customer in doubt is: Give it a chance. It may turn the hassle and hesitation into a pleasurable and exiting experience. CHAPTER 9 SDLC LIFE CYCLE 9.1 What is SDLC and Phases The systems development life cycle (SDLC), also referred to as the application development life-cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system. The systems development life-cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. A systems development life cycle is composed of a number of clearly defined and distinct work phases which are used by systems engineers and systems developers to plan for, design, build, test, and deliver information systems. Like anything that is manufactured on an assembly line, an SDLC aims to produce high-quality systems that meet or exceed customer expectations, based on customer requirements, by delivering systems which move through each clearly defined phase, within scheduled time frames and cost estimates.Computer systems are complex and often (especially with the recent rise of service-oriented architecture) link multiple traditional systems potentially supplied by different software vendors. To manage this level of complexity, a number of SDLC models or methodologies have been created, such as "waterfall"; "spiral"; "Agile software development"; "rapid prototyping"; "incremental"; and "synchronize and stabilize". The SDLC adheres to important phases that are essential for developers, such as planning, analysis, design, and implementation, and are explained in the section below. It includes evaluation of present system, information gathering, feasibility study and request approval. A number of SDLC models have been created: waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, synchronize and stabilize. The oldest of these, and the best known, is the waterfall model: a sequence of stages in which the output of each stage becomes the input for the next. These stages can be characterized and divided up in different ways, including the following: Preliminary analysis: The objective of phase 1 is to conduct a preliminary analysis, propose alternative solutions, describe costs and benefits and submit a preliminary plan with recommendations. • Conduct the preliminary analysis: in this step, you need to find out the organization's objectives and the nature and scope of the problem under study. Even if a problem refers only to a small segment of the organization itself, you need to find out what the objectives of the organization itself are. Then you need to see how the problem being studied fits in with them. • Propose alternative solutions: In digging into the organization's objectives and specific problems, you may have already covered some solutions. Alternate proposals may come from interviewing employees, clients, suppliers, and/or consultants. You can also study what competitors are doing. With this data, you will have three choices: leave the system as is, improve it, or develop a new system. • Describe the costs and benefits. Systems analysis, requirements definition: Defines project goals into defined functions and operation of the intended application. It is the process of gathering and interpreting facts, diagnosing problems and recommending improvements to the system. Analyzes end-user information needs and also removes any inconsistencies and incompleteness in these requirements. A series of steps followed by the developer are:[8] • Collection of Facts: End user requirements are obtained through documentation, client interviews, observation and questionnaires, • Scrutiny of the existing system: Identify pros and cons of the current system in-place, so as to carry forward the pros and avoid the cons in the new system. • Analyzing the proposed system: Solutions to the shortcomings in step two are found and any specific user proposals are used to prepare the specifications. Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudocode and other documentation. Development: The real code is written here. Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability. Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business. Maintenance: During the maintenance stage of the SDLC, the system is assessed to ensure it does not become obsolete. This is also where changes are made to initial software. It involves continuous evaluation of the system in terms of its performance. Evaluation: Some companies do not view this as an official stage of the SDLC, while others consider it to be an extension of the maintenance stage, and may be referred to in some circles as postimplementation review. This is where the system that was developed, as well as the entire process, is evaluated. Some of the questions that need to be answered include: does the newly implemented system meet the initial business requirements and objectives? Is the system reliable and fault-tolerant? Does the system function according to the approved functional requirements? In addition to evaluating the software that was released, it is important to assess the effectiveness of the development process. If there are any aspects of the entire process, or certain stages, that management is not satisfied with, this is the time to improve. Evaluation and assessment is a difficult issue. However, the company must reflect on the process and address weaknesses . Disposal: In this phase, plans are developed for discarding system information, hardware and software in making the transition to a new system. The purpose here is to properly move, archive, discard or destroy information, hardware and software that is being replaced, in a manner that prevents any possibility of unauthorized disclosure of sensitive data. The disposal activities ensure proper migration to a new system. Particular emphasis is given to proper preservation and archival of data processed by the previous system. All of this should be done in accordance with the organization's security requirements. CHAPTER 10 FUTURE SCOPE 10.1 Future Scope The scope of the project includes that what all future enhancements can be done in this system to make it more feasible to us:- • Databases for different products range and storage can be provided. • Multilingual support can be provided so that it can be understandable by the person of any language. • More graphics can be added to make it more user-friendly and understandable. • Manage & backup versions of documents online. CHAPTER 11 CONCLUSION While developing the system a conscious effort has been made to create and develop a software package, making use of available tools, techniques and resources – that would generate a proper System While making the system, an eye has been kept on making it as user-friendly, as cost-effective and as flexible as possible. As such one may hope that the system will be acceptable to any user and will adequately meet his/her needs. As in case of any system development processes where there are a number of shortcomings, there have been some shortcomings in the development of this system also. The project is still under modification. APPENDIX 1 CODING 1.1 GUI <?php session_start(); ?> <!DOCTYPE html> <html> <head> <title>BB Jewellery :: Login Screen</title> <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <script> $('#btnClose').click(function(e) { $('#loginDiv').hide(0); }); </script> </head> <body> <form id="ajaxform" method="post" action="processlogin.php"> <div id="login_center_main" style="text-align:center"> <div id="closeLogin" style="text-align:right;"> <a href="#"> <img src="image/close.jpg" width="10%" height="10%" id="btnClose" /></a> </div> <div id="inputDivLogin"> <div id="LoginLabel"><b>Username</b></div> <div id="LoginInput"><input type="text" class="Logintextboxes"/></div> </div> <br /> <div id="inputDivLogin"> <div id="LoginLabel"><b>Password</b></div> name="txtusername" <div id="LoginInput"><input type="password" name="txtpassword" class="Logintextboxes"/></div> </div> <br /> <div id="inputDivLoginControl"> <div> <input id="btnSignin" class="LoginButton" type="submit" value="Sign in" /> <input class="LoginButton" id="btnClear" type="reset" value="Clear" /> </div> </div> </div> </form> </body></html> 1.2 INDEX <?php $start = microtime(true); session_start(); // start a session if (isset($_SESSION['user_id'])) { // check if session user_id is set $userid = $_SESSION['user_id']; //if it is set, assign the value to the variable $userid } else { // if it is not set $userid = ""; // assign a null value to $userid } echo "User ID: " . $userid; //print it on screen. ?> <?php $_SESSION['code'] = rand(); // assign a random value to $_SESSION['code'] $code = $_SESSION['code']; // then assign the value to $code echo "<br />Code: " . $code; // print the value of $code ?> <?php // User is already logged in. if (isset($_SESSION['username'])) { //check if session username is set $User = $_SESSION['username']; // if it is, assign the value to $User } else { $User = ""; // else $User will be null } ?> <!-- Head1 Part Start--> <?php include("head1.html");?> <!-- Head1 Part End--> <!-- Top Part Start--> <?php if($User != "") { include("top_links2.php"); } else { include("top_links.php"); } ?> <!-- Top Part End--> <!-- Main Div Tag Start--> <div id="wrapper"> <!-- Header Part Start--> <?php if($User != "") { include("header2.php"); } else { include("header.php"); } ?> <!-- Header Part Start--> <!-- Middle Part Start--> <!-- Section Start--> <?php include("section.html"); ?> <!--Section End--> <!--Middle Part End--> <!--Random Featured Product Start--> <div class="box mb0" id="randomfeatured"> <div class="box-heading-1"><span>Random Featured</span></div> <div class="box-content-1"> <div class="box-product-1" > <?php // Included configuration file in our code. include("randomfeatured.php"); ?> </div> </div> </div> <!--Random Featured Product End--> <!--Special Promo Banner Start--> <div class="box-promo" id="box-promo"> <div class="box-heading-1"><span>PROMO ON FEATURED ITEMS</span></div> <div id="banner0" class="banner"> <div style="display:block;"><img src="image/addBanner-940x145.jpg" alt="Special Offers" title="Special Offers" /></div> </div> </div> <!--Special Promo Banner End--> <!--Coming Soon Product Start--> <div class="box-heading-1" id="soon"> <div class="box-heading-1"><span>Coming Soon</span></div> <div id="carousel0"> <ul class="jcarousel-skin-opencart"> <!--Coming Soon Product End--> <!--Carousel Start--> <?php // Included configuration file in our code. include("comingsoon.php"); ?> </ul> </div> </div> <!--Carousel End--> <!--Footer Part Start--> <?php include("footer.php");?> <!--Footer Part End--> </div> <!-- Main Div Tag End--> <!--Flexslider Javascript Part Start--> <?php include("flexslider.php");?> <!--Flexslider Javascript Part End--> <?php $end = microtime(true); $elapsed = $end - $start; echo "Procedure 1 = {$elapsed} seconds"; ?> </body> </html> 1.3 HEADER <header id="headerWrapper"> <div id="header"> <div id="logo"> <a href="index-1.php"><img src="image/logo.png" title="BB Jewellery Logo" alt="Our Logo" /></a>'; </div> <div id="welcome"> Welcome visitor <a href="#" onClick="showLogin();">Login</a> or <a href="register.html">Sign Up</a>. </div> <div id="loginDiv" class="LoginDiv"> </div> </div> <!-- Main Navigation Start--> <?php include("navigation.php");?> <!-- Main Navigation End--> <div id="SearchDiv" class="SearchDiv"> </div> </header> 8.4 BACKEND <?php if (isset($_SESSION['user_id'])) { $userid = $_SESSION['user_id']; } if (isset($_SESSION['username'])) { $User = $_SESSION['username']; } else { $User = ""; } ?> <?php include("includes/mysqli_connection.php"); $sql = "SELECT COUNT(*) FROM cart WHERE cust_id = $userid AND checkout = 'n'"; $query = (mysqli_query($db_conx,$sql)); $row = mysqli_fetch_row($query); // Here we have the total row count $rows = $row[0]; $countrows = $rows; $totalquantity = 0; $subtotal = 0; $totalamount = 0; $vat = 0.15; $delivery = 500; $selectproducts = "SELECT * FROM cart , jewellery WHERE cart.cust_id = $userid AND jewellery.id = cart.jewel_id AND checkout = 'n'"; $query = mysqli_query($db_conx, $selectproducts); for($loop = 0; $loop < $countrows; $loop++) { while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) { $jewelid = $row["jewel_id"]; $qty = $row["qty"]; $userid = $row["cust_id"]; $checkout = $row["checkout"]; $prodname = $row["prodname"]; $path = $row["path"]; $category = $row["category"]; $price = $row["price"]; $desc = $row["descr"]; $width="150px"; $height="150px"; $amount = ($qty * $price); $amount = round($amount); if (round($amount*10) == $amount*10 && round($amount)!=$amount) $amount = "$amount"."0"; //to avoid prices like 17.5 write 17.50 instead { if (round($amount) == $amount) //add .00 { $amount = "$amount".".00"; } } $totalquantity = $totalquantity + $qty; $subtotal = $subtotal + $amount; $vat = round(0.15 * $subtotal); $totalamount = ($subtotal + $vat + $delivery); } } ?> <!-- Header Part Start--> <header id="headerWrapper"> <div id="header"> <div id="logo"> <a href="index-1.php"><img src="image/logo.png" title="BB Jewellery Logo" alt="Our Logo" /></a> </div> <!-- Mini Cart Start--> <div id="cart"> <div id="cart-total"><?php echo class="heading"><a $countrows;?> item(s) href="cart.php"><span - Rs <?php echo $totalamount;?></span></a></div> </div> <!-- Mini Cart End--> <?php // Display Username echo '<div id="welcome"> Welcome <b>' . $User . '</b> || <a href="logout.php">Log Out</a></div>'; ?> </div> <!-- Main Navigation Start--> <?php include("navigation.php");?> <!-- Main Navigation End--> <div id="SearchDiv" class="SearchDiv"> </div> </header> <!-- Header Part End-->