You are on page 1of 77

PROJECT REPORT ON

ONLINE FOOD ORDERING PORTAL

SUBMITTED TO
UNIVERSITY OF MUMBAI

SUBMITTED BY
ABNISH S. SINGH

GUIDED BY
PROF. BINITA THAKKAR

T.Y. B. Sc. (INFORMATION TECHNOLOGY)
YEAR 2013-2014

LATE SHRI VISHNU VAMAN THAKUR CHARITABLE
TRUST’S
BHASKAR WAMAN THAKUR COLLEGE OF SCIENCE
YASHWANT KESHAV COLLEGE OF COMMERCE
VIDYADAYANAND PATIL COLLEGE OF ARTS
VIRAR (W), TAL. VASAI, DIST. THANE 40103

Late Shri Vishnu Waman Thakur Charitable Trust’s
Bhaskar Waman Thakur College of Science,
Yashwant Keshav Patil College of Commerce,
Vidya Dayanand Patil College of Arts.
Virar (W).

CERTIFICATE
This is to certify that project done
on____________________________________by
Mr./Ms _____________________ Seat no.______
in partial fulfillment of B.Sc IT degree
(SEM VI) examination had not been submitted
for any other examination and does not form
any other course undergone by the guide.

_____________

_____________

______________

Project Guide

Examiner

Head of Dept.

Date:

Date:

Date:

COLLEGE SEAL:

Acknowledgment
This is the project I started, as a part of my course curriculum and
it gives me great pleasure to present the report of this project work
conducted towards the fulfillment of the “Online Food Ordering Portal”
project assigned to me by Mr. CS Sethi, GM of Neelam-e-Punjab.
As per the guidelines laid down by Mumbai University, I take this
opportunity to thank all those who have made the effort in the success of
this project.
I am also grateful to our respected Prof. Mrs. Sampada Deshmukh,
head of B.Sc.(I.T.) department, for the corporation and spirit he laid me. I
would like to thank all the professors and my colleagues who helped me
to complete this project.
I give my special thanks to Prof. Binita Thakkar, who for me had
been source of motivation and encouragement to me. Also at the same
time I thank her for the invaluable guidance she provided me in the
completion of my project work within a given stipulated time.
I give my special thanks to Mr. Monty (Admin of Restaurant) and
his employees for giving me very precious information and there valuable
time to complete this project.
Finally, it gives me a great pleasure in expressing my sincere and
heartfelt thanks to all my friends, and my family members who have
assisted me in this project by various means.

Abnish S. Singh

7 6.1 2.4 3 3.4 6.3 4 4.2 5 5.6 6.3 6 6.1 4.2 6.2 5.1 5.8 7 8 9 10 11 12 13 Topic Introduction Organizational Profile Introduction To Project System Study And Analysis Existing System Limitations Of Existing System Proposed System Benefits Of Proposed System Planning Phase Feasibility Study Milestones Fact Finding Techniques Front-Back end Need For ASP.3 6.2 3.2 2 2.Index Sr.NET and SQL Server-2008 Proposed system will include System Design and Development Gantt Chart ERD Event table UML Design Use case diagram Class Diagram Sequence Diagram State Chart Diagram Activity Diagram Database Design Menu Tree CRUD Table System Coding Convention Screen Layouts/ Coding Test Cases Reports Screen Layouts/Source Code Future Enhancement Conclusion Bibliography Page No 1 2 3 4 5 6 7 8 9 10 12 13 15 16 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 36 61 64 68 70 72 .1 1.1 6.No 1 1.3 2.2 2.1 3.5 6.

INTRODUCTION 1|Page .

the tradition of excellence and making each a meal a gourmet’s delight it all began with a dream of Shri Raghubir Singh Chabra who was founder of Neelam-e-Punjab group of restaurants started his journey since 1976 to create a group of restaurants with great style. using selective herbs and spices not only for the aroma but also for their digestive and nutritional values as well.Organization Profile Neelam-e-Punjab. ambience and grandeur It has always been our prime concern to retain the authenticity of various cuisines. 2|Page .

Invoice Details and Customer Details. Reports are generated for each of the above processes to get the output 3|Page . Login name and password is verified in the selected system and then user allowed to use the system.  Transaction IncludedD The transaction included here is Add New User. Manage Menu. Search User. Order details. This system mainly consists of transaction the system to open selection is given on the login screen itself. It provides integration of all above processes along with the automatic updates as per the transaction.Introduction to project Online Food Ordering Portal is web application made for one of the restaurant in Vasai named “Neelam-e-Punjab”. This application contains a web page for the customer. By this webpage customer can place the order online.

System Study & Analysis 4|Page .

Information regarding Customer name. a total expansion etc. 2. All the existing system is traditional and lack of use of technology.Existing System The current System of a restaurant is very ancient and need to be replaced as restaurant' business is expanding. 5|Page . Addresses & their requirements are needed to be entered into a registered. therefore the process is very time consuming and lengthy as paper work is there. Current System is working manually. The customers are area centric. One of the biggest disadvantages of the current system is that lacking of the online ordering system each time a customer need to call the restaurant and then he can booked his order. 3. 1. This was creating a problem in maintaining data records stored at the end like profit and loss.

To keep track of customer’s information is much more difficult. Not good communication between the different branches so there is lacking of coordination between them. 3. 6|Page . Business is not on the web which was biggest Disadvantages. customer.Limitation of Existing System 1. agent and management. 5. There exists a communication gap between staff. 4. It is difficult to find a particular customer’s order from the whole Stock. 6. Maintain multiple registers become difficult. 2. 7. It is very difficult to know how many orders are given by a particular customer.

 The system must be user-friendly.  Help in reducing the file work.  An appropriate database tables are maintained to record and store validated information. 7|Page .  Security features like username – Password authentication must be enforced to prevent unauthorized access.Proposed System  Statement of Need  Errors caused due to manual processing of data must be reduced.  Statement of System Capabilities  Security features username and password authentication is implemented.  Report generation is implemented.  A system should provide the interactive interface to the customer and the interface is more information about the collection to the Customer.  Logical and technical errors must be found.  Facility to search a particular record is implemented.  Facility to easily search a specific record must be enforced.

It is upgradeable. Hence further enhancements to the system are possible. 8|Page . The system is capable of generating the necessary reports. Other benefits are as follows:      The system is a GUI and hence user-friendly. It solves all problems encountered in the previous manually handled system. It takes care of database security by restricting unauthorized access to the system.Benefits of Proposed System  System Benefits This system has been developed to be simple and user-friendly. The system maintains speed and accuracy. even a nontechnical user can use the system effectively and without any difficulty. Hence.

Planning Phase 9|Page .

 It is aimed at giving an easy way to generate reports.  The system is designed in such a way that it is easy to operate. they have personally come forward and given their ideas regarding what sort of computer system are expected. Reports that are generated are difficult to prepare manually and are also error prone. Operational Feasibility The current system is manual thus processing large amount of data become a cumbersome activity. And has come to conclusion that the new computerized system presents no risk they might prevent effective use of the new system. This project has been tested in the following areas of feasibility  Operational Feasibility  Technical Feasibility  Economic Feasibility 1. The organization has evaluated organizational and cultural issues to identify potential risk for the new system.Feasibility Study The feasibility study is undertaken to determine the possibility of either improving the present system or developing a completely new system it help to obtain an overview of the problem and get an idea whether a feasible solution exist.  It handles only simple data oriented functions.  The system does not involve any complex operations. 10 | P a g e . Since the user finds difficulty operating a manual system.

Mozilla Firefox.  To operate this system only a web browser is needed. 3. which can be obtained. The operating system has the technical capacity to hold the data required to use the proposed system. The system is platform independent and browser independent and supports all kinds of web browsers like Internet Explorer.  The most of the software used in the system development is freely available on the Web. The Cost Benefit Analysis is a commonly used method in evaluating the effectiveness of the system. Moreover the maintenance system has a lot of scope of being expanded and developed to generate even more valuable and better reports.2. The present equipment technology assures technical guarantee of accuracy. The proposed system requires technology and equipment. It determines whether the investment that goes into the implementation of the project is recoverable or not. Technical Feasibility Generally.  The system can be expanded if so decided.  Also software used to build the system is simple enough in their usage and functionality.  This system is technically more secure. reliability and ease of access.  The cost of developing this system currently includes the minimum software cost to develop and run the system. Economic Feasibility The Economic Feasibility of the system is mainly concerned with its financial aspects. etc. new system brings new technology into an organization. 11 | P a g e .

4 2.3 Prioritize requirements 4 26/01/14 29/01/14 2 30/01/14 31/01/14 2 1/02/14 02/02/14 2.Milestones Sr.3 3.2 Confirm Project feasibility 8 25/12/14 01/12/14 1.1 Gathering information 10 10/01/14 20/01/14 2.3 Project schedule 5 02/01/14 06/01/14 1.4 4 4.2 Defining system requirements 5 21/01/14 25/01/14 2.5 Launching project 2 08/01/14 10/01/14 2 Analysis phase 30 10/01/14 02/02/14 2.4 Design application architecture Design and integrate database Design and integrate system control Implementation phase Construct the software components Verify and test the components Training and documentation Installing software 12 | P a g e .1 Design user interface 15 03/02/13 18/02/14 10 19/02/14 01/03/14 5 02/03/14 07/03/14 5 08/03/14 13/03/14 24 14/03/13 16/04/11 10 14/03/14 24/03/14 10 25/03/14 04/04/14 3 04/04/14 07/04/14 1 08/04/12 09/04/13 3. No Phase Duration (Days) Start date Finish date 1 Planning phase 25 16/12/13 10/01/13 1.5 Generate and evaluate alternatives Review the documentations 3 Design phase 35 03/02/14 18/03/14 3.2 3.2 4.3 4.1 Defining Problem 9 16/12/13 24/12/13 1.4 Staffing project 1 07/01/14 07/01/14 1.1 4.

 It also helps to find out various procedures to be followed.  Problems are correctly identified.  While observing the day to day working of the Automobiles system.  No system details are left out.Fact Finding Techniques Information plays a very important role in any organization. There are many ways of gathering information.  Interviews :  It is one of the best act which gives qualitative information about the system. Acquiring valuable information is essential for developing a new system in an organization. But the following things need to be kept in mind while gathering information.  Record Searching :  This method is used to study all the records which are being maintained manually.  Repetitive work is avoided. Interviewing the people of the organization helped us to find out their 13 | P a g e . Following are the fact findings techniques:  Observation :  As before developing anything we need to understand the entire system and for this observation plays important role. we came to know about a lot of things.  A proper study of all these records is being done to uncover all the details regarding the overall working of the system. Registers are maintained by the sales people. how the records are maintained. how the follow-ups are taken care of etc.  This technique helped in understanding the actual process of Automobiles system.

 While studying the manual system.  Visits:  Many visits have been made to the office for acquiring various information as well as documents required for identifying the inputs and outputs of the system. their usage and formats were studied.  Document Searching:  Various documents were handled during the course of time.  The relation with the system.difficulties and requirements which helped us a lot while developing the system.  To collect and analyze required information following methods were adopted.  Questionnaires :  It is one of the best techniques to find out the requirements to be added and the existing working of the system by providing the questionnaires to all levels of the organization so that the employees can provide quality answers to the questions as they get a lot of time to go through the questionnaires properly and answer them. various documents like Masters Form. 14 | P a g e . information given was analyzed. etc.  People from different department of the company were interviewed for collecting information from them. service form.  With the help of this method we can evaluate the needs of the employees and the company. have been studied to analyze recording in formation in different logs. Document study also helped in determining inputs and outputs of the system.

Frontend & Backend 15 | P a g e .

Excellent specification. it allows you to choose the language that best applies to your application or partition your application across many languages. Java is platform-independent and flexible in nature. CI.NET:        Excellent tooling: IDE.NET is a server-side Web application framework designed for Web development to produce dynamic Web pages. Excellent performance. Vast array of 3rd party libraries. Being language-independent. With built-in Windows authentication and per-application configuration. Huge amount of documentation available. Large pool of developers available.NEED FOR ASP.NET AND MY SQL SERVER ASP. Platform ubiquitous.  Features of ASP.NET drastically reduces the amount of code required to build large applications. etc. 16 | P a g e . your applications are safe and secured.  The Advantages of ASP.NET are as follows:    ASP.

This is partly because it is completely free but also very powerful. SQL Server has the following features:       A broad subset of ANSI SQL 99.A SQL Server database is the most popular type of relational database on the web today. In more technical terms. You will use SQL statements to accomplish all of this. as well as extensions Cross-platform support Stored procedures Triggers Cursors Updatable Views 17 | P a g e . What is a SQL Server database capable of? SQL Server database is capable of storing any type of that you want.

80 GB Hard disk B. Windows XP iii. Operating System: i. Windows 2000 ii. Windows 7 SOFTWARE REQUIREMENT: A) Visual Studio-2010 18 | P a g e .Proposed System will include: Frontend: ASP. Windows Vista iv.NET with c# Backend: SQL Server-2008 HARDWARE REQUIREMENT: A. 256 MB RAM C.

System Design & Development 19 | P a g e .

Gantt Chart 20 | P a g e .

Entity Relationship Diagram 21 | P a g e .

Event Table Sr No Event Trigger Source Use case Response Destination 1 Search Menu Menu is searching Customer Lookup for the menu Menu Details Admin 2 Registration New Registratio n Customer Respond to the customer signup Signup Form Admin 3 Admin can Add New Items New Food Admin Respond to the customer about new food Details of Food Customer 4 Customer can provide Feedback Feedback Customer Respond to the customer about Feedback Message of Feedback Admin 5 The customer Add the items in Cart Selection process Customer Confirm Admin can check order details Place Order Admin 7 Admin checks daily order placed by the customer Checking order Admin 8 The Admin accepts the order from the customer Accept order Admin 6 Admin Item Added Placing the order He/she wants Order Details Customer Checking for the order Order Summary Customer Accepting the order Order details Customer 22 | P a g e .

Uml Diagrams 23 | P a g e .

Use Case Diagram 24 | P a g e .

Class Diagram 25 | P a g e .

Sequence Diagram 26 | P a g e .

State Chart Diagram 27 | P a g e .

Activity Diagram 28 | P a g e .

Database Design Food Details: Order Details: 29 | P a g e .

User Details: 30 | P a g e .

Menu Tree 31 | P a g e .

Form Report Orders Registration Menu Items DB Login Crud Table C Login CR CRUD Menu Items CRUD R Registration Orders CRD CRD R CRD Report CR 32 | P a g e .

System Coding Convention 33 | P a g e .

Login Component Name Code Name TextBox1 TextBox2 Label1 Label2 Button1 Button2 Button 3 txtid txtpassword lbluser lblpass btnlogin btnReset lblError Registration Component Name Code Name TextBox1 TextBox2 Label1 Label2 Label3 Button1 txtName txtPassword Lblname lblpassword lblResult btnRegister Order Component Name Code Name TextBox1 TextBox2 Label1 txtDataOpen1 txtDataOpen2 lblOpenOrder 34 | P a g e .

Shop Component Name Code Name Label1 Label2 Button1 Button2 lblResult lblError btnOk btnCancel Items Add Component Name Code Name Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 DropDownList1 TextBox6 Button1 Button2 FileUpload1 lblName lblType lblPrice lblRoast lblCountry lblImage lblReview lblResult txtName txtType txtPrice txtRoast txtCountry ddImage txtReview btnSave btnUploadImage FileUpload1 35 | P a g e .

Screen Layouts & Source Code 36 | P a g e .

Login

37 | P a g e

Login
using System;
public partial class Pages_Account_Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_Click(object sender, EventArgs e)
{
User user = ConnectionClass.LoginUser(txtLogin.Text, txtPassword.Text);
if(user != null)
{
//Store login variables in session
Session["login"] = user.Name;
Session["type"] = user.Type;
Response.Redirect("~/Pages/Home.aspx");
}
else
{
lblError.Text = "Login failed";
}
}
}

38 | P a g e

Admin
using System;
public partial class Pages_Account_Admin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AuthenticateAdministrator();
}
private void AuthenticateAdministrator()
{
if ((string)Session["type"] != "administrator")
{
Response.Redirect("~/Pages/Account/Login.aspx");
}
}
}

39 | P a g e

Food 40 | P a g e .

UI. EventArgs e) { FillPage().Format( @"<table class='foodTable'> <tr> <th rowspan='6' width='150px'><img runat='server' src='{6}' /></th> <th width='50px'>Name: </td> <td>{0}</td> 41 | P a g e .GetFoodByType(DropDownList1. foreach (Food food in foodList) { sb.Web. using System. } private void FillPage() { ArrayList foodList = new ArrayList().Append( string.Food using System.Text.Page { protected void Page_Load(object sender. public partial class Pages_Food : System.Collections. using System. if(!IsPostBack) { foodList = ConnectionClass.SelectedValue). } StringBuilder sb = new StringBuilder(). } else { foodList = ConnectionClass.GetFoodByType("%").

lblOuput.Price. food.ToString(). food.Text = sb.Type. } } protected void DropDownList1_SelectedIndexChanged(object sender.</tr> <tr> <th>Type: </th> <td>{1}</td> </tr> <tr> <th>Price: </th> <td>{2} $</td> </tr> <tr> <th>Roast: </th> <td>{3}</td> </tr> <tr> <th>Origin: </th> <td>{4}</td> </tr> <tr> <td colspan='2'>{5}</td> </tr> </table>". food.Roast. food. food. food.Image)). food.Country.Review. EventArgs e) { FillPage().Name.}} 42 | P a g e .

Add Food 43 | P a g e .

ShowImages(). public partial class Pages_Food_Add : System. ddlImage. 44 | P a g e .Text). Page_Load(sender.Text = "Image " + filename + " succesfully uploaded!". price = price / 100. using System.UI.IO.SelectedValue. string type = txtType. lblResult.Collections.Text = "Upload failed!".MapPath("~/Images/Food/") + filename).Add Food using System.Page { #region Events protected void Page_Load(object sender. EventArgs e) { try { string filename = Path. } protected void btnUploadImage_Click(object sender. double price = Convert.Text. e).Web. } } protected void btnSave_Click(object sender. using System. } catch (Exception) { lblResult.SelectedValue = selectedValue. string selectedValue = ddlImage. FileUpload1.ToDouble(txtPrice.GetFileName(FileUpload1.FileName).SaveAs(Server. EventArgs e) { try { string name = txtName.Text. EventArgs e) { AuthenticateAdministrator().

review). ClearTextFields(). imageList.Text.Text = "". } catch (Exception) { lblResult. } private void ClearTextFields() { txtCountry. lblResult.AddFood(food). foreach (string image in images) { string imageName = image. ConnectionClass./Images/Food/" + ddlImage.Substring(image. } } #endregion #region Methods private void ShowImages() { //Get all filepaths string[] images = Directory. image. //Get all filenames and add them to an arraylist ArrayList imageList = new ArrayList().SelectedValue. Food food = new Food(name. string country = txtCountry.DataBind().string roast = txtRoast.Text.Text. string review = txtReview. string image = ". country. type. roast.GetFiles(Server.Text = "Upload failed!".LastIndexOf(@"\") + 1).. 45 | P a g e .DataSource = imageList. } //Set the arrayList as the dropdownview's datasource and refresh ddlImage.MapPath("~/Images/Food/")). price.Add(imageName). ddlImage.Text = "Upload succesful!".

txtPrice.Text = "". txtReview.aspx"). } } #endregion } 46 | P a g e .Text = "".Text = "". txtRoast.Text = "". } private void AuthenticateAdministrator() { if ((string)Session["type"] != "administrator") { Response.Redirect("~/Pages/Account/Login.Text = "". txtType.txtName.

Order Details 47 | P a g e .

//Get user info + user's placed orders User user = ConnectionClass. Request.aspx").QueryString["date"]). user.Format("<h2>Client: {0}<br />Date: {1}</h2>".UpdateOrders(client.Web.Email. using Entities. using System.Net. using System. EventArgs e) { CheckIfAdministrator(). } protected void btnShip_Click(object sender.GetDetailedOrders(client.QueryString["client"]. using System.QueryString["client"]. } private void CheckIfAdministrator() { if ((string)Session["type"] != "administrator") 48 | P a g e .Order Details using System.UI. Response. namespace Pages { public partial class Pages_OrdersDetailed : System. lblTitle.Collections. date). DateTime date = Convert. Request.QueryString["date"]). date).Net. EventArgs e) { //Get variables from Url string client = Request. Afterwards send user back to 'Orders' Page ConnectionClass.Page { protected void Page_Load(object sender.GetUserDetails(client). SendEmail(user. orderList).Redirect("~/Pages/Orders.Name. ArrayList orderList = ConnectionClass.Text = string. //Update database and send confirmation e-mail.Mail.ToDateTime(Request.

GenerateOrderedItems(orderList)). //TODO: Fill in your own e-mail and password here! smtp.Redirect("~/Pages/Account/Login. Kind regards Abnish". string email. to). ArrayList orderList) { MailAddress to = new MailAddress(email). smtp. } } private void SendEmail(string client.QueryString["date"].Body = body.Format( @"Dear {0}. smtp.EnableSsl = true. } 49 | P a g e . We are happy to announce that your order placed on {1} has been completed and is ready for pickup. "yourPassword"). Your ordered products: {2} You can come collect your order at your earliest convienence.Credentials = new NetworkCredential("your_email@gmail.Port = 587.{ Response.gmail.com").Host = "smtp. //TODO: Fill in your own e-mail here! MailAddress from = new MailAddress("your_email@gmail. string body = string. smtp.Send(mail).Subject = "Your order has been prepared".aspx"). MailMessage mail = new MailMessage(from.com". Request. smtp. mail. SmtpClient smtp = new SmtpClient(). client.com". mail.

Format(@" . order. } } } 50 | P a g e .Format(@" Total Amount: {0} €". return result.Price).Price)). order. } result += string.{0} ({1} €) X {2} = {3} €".Amount * order. totalAmount). foreach (Order order in orderList) { result += string. order. double totalAmount = 0. totalAmount += (order.private string GenerateOrderedItems(ArrayList orderList) { string result = "".Amount * order. (order.Product.Price.Amount.

Shop 51 | P a g e .

btnOk. thank you for shopping at our store".WebControls. using System.Web. } protected void btnOrder_Click(object sender.Text = "Your order has been placed.UI. btnCancel. btnCancel. namespace Pages { public partial class Pages_Shop : System.Collections.Visible = false. } protected void btnCancel_Click(object sender. lblResult.Page { protected void Page_Load(object sender.UI. using System.Web. EventArgs e) { Authenticate(). btnOk. lblResult.Visible = false. } protected void btnOk_Click(object sender. 52 | P a g e . EventArgs e) { Authenticate().Visible = false.Visible = false. using System. SendOrder().Text.Shop using System. EventArgs e) { Session["orders"] = null. using Entities. EventArgs e) { GenerateControls().Visible = false.

//Add validation so only numbers can be entered into the textfields RegularExpressionValidator regex = new RegularExpressionValidator { ValidationExpression = "^[0-9]*". TextBox textBox = new TextBox { ID = coffee. Label lblName = new Label { Text = coffee. ErrorMessage = "Please enter a number.Image.GetCoffeeByType("%"). Label lblPrice = new Label { Text = String. CssClass = "ProductsImage" }." }. } //Fill page with dynamic controls showing products in database private void GenerateControls() { //Get all coffeeObjects from database ArrayList coffeeList = ConnectionClass. Width = 60.GenerateReview(). CssClass = "ProductsTextBox". 53 | P a g e .Name.Id. Literal literal = new Literal { Text = "<br />" }. ControlToValidate = textBox. CssClass = "ProductsName" }. Literal literal2 = new Literal { Text = "<br />" }.00}".ToString(). coffee. Text = "0" }. CssClass = "ProductsPrice" }.Price + "<br />").ID.Format("{0:0. Image image = new Image { ImageUrl = coffee. foreach (Coffee coffee in coffeeList) { //Create Controls Panel coffeePanel = new Panel().

Text is not null if (textBox.Add(textBox). } } //Returns a list of all orders placed in textboxes private ArrayList GetOrders() { //Get list of Textbox objects in ContentPlaceHolder ContentPlaceHolder cph = (ContentPlaceHolder)Master.GetCoffeeById(Convert. ControlFinder<TextBox> cf = new ControlFinder<TextBox>().Add(literal2).Controls.Controls.Add(image).Add(lblPrice).FindChildControlsRecursive(cph). coffeePanel.Controls.Add(coffeePanel). foreach (TextBox textBox in textBoxList) { //Make sure textbox. cf. //Create orders using data from textfields ArrayList orderList = new ArrayList().ToInt32(textBox.ID)).FoundControls.Add(regex). Order order = new Order( 54 | P a g e . //Generate Order for each textbox which has an order greater than 0 if (amountOfOrders > 0) { Coffee coffee = ConnectionClass.Text != "") { int amountOfOrders = Convert.Controls. pnlProducts. coffeePanel. coffeePanel.ToInt32(textBox.Add(lblName). coffeePanel.Controls.Controls.Text).Add(literal). coffeePanel.//Add controls to Panels coffeePanel.FindControl("ContentPlaceHolder1"). var textBoxList = cf.Controls. coffeePanel.Controls.

DateTime.Product. } } } return orderList. totalAmount = totalAmount + totalRow. } //Generate row for Total Amount sb. order.Format(@"<tr> <td width = '50px'>{0} X </td> <td width = '200px'>{1} ({2})</td> <td>{3}</td><td>€</td> </tr>".Append("<table>").Format("{0:0. coffee.Add(order). ArrayList orderList = GetOrders(). order. } //Generate HTML table to review Current Order private void GenerateReview() { double totalAmount = 0. //Generate a row for each Order foreach (Order order in orderList) { double totalRow = order.Format(@"<tr> <td><b>Total: </b></td> <td><b>{0} € </b></td> </tr>". StringBuilder sb = new StringBuilder().Session["login"].Append(String.Append(String. sb. totalAmount)).ToString().Amount.00}".Now.Price. 55 | P a g e . Session["orders"] = orderList. sb. //Add order to ArrayList orderList.Price. order. totalRow))). false). amountOfOrders. sb. coffee. String.Name.Amount.Append("<h3>Please review your order</h3>").Price * order.

btnCancel. btnOk.Visible = true.Redirect("~/Pages/Account/Login. //Export data and make Controls visible lblResult.Text = sb. } //Send order to database private void SendOrder() { ArrayList orderList = (ArrayList)Session["orders"].AddOrders(orderList). Session["orders"] = null.sb. ConnectionClass. lblResult.Visible = true.Visible = true. } //Check if user is logged in private void Authenticate() { if (Session["login"] == null) { Response.Append("</table>"). } } } } 56 | P a g e .aspx").ToString().

57 | P a g e .

58 | P a g e .

59 | P a g e .

60 | P a g e .

Test Cases 61 | P a g e .

No. Form Name 1. Allowed To Enter Data Error Message Hgf1233@# % Allowed To Enter Data Error Message Error Message 1234 Allowed To Enter Data Error Message 62 | P a g e . Valid Admin Allowed To Enter Data Null Invalid Characters Symbols Digits Valid Null Invalid Characters Valid Abnish Allowed To Enter Data Digits Invalid 123 Error Message Null Invalid Digits Valid Null Invalid Alphabets Digits Valid Abc123 Allowed To Enter Data Special Symbol Valid !@#$%^& *()-+ /*.Sr. Login Form Test Case Test Data Login ID Password 2 Register User Name User Id Password State Test Input Value EXP Result Alphabet. Digits..

”~` Error Message Null Invalid Digits Alphabets Valid Error Message 12345 Allowed To Enter Data Error Message Not Allowed To Enter Data Allowed To Enter Data Error Message 4.Com Null Invalid Digits Valid Null Invalid Alphabets Valid ABC Allowed To Enter Data Special Symbols Invalid !@#$%^& *()-+ /*. ?:. Upload New Item Item Id Item Name Item Img 01 Allowed To Enter Data Error Message Error Message 001 Abhi Allowed To Enter Data 63 | P a g e .. Valid aabnishh@g mail.Mobile No Email Id Null Invalid Numbers Valid Null Invalid Alphabets Invalid Abcd Alphabets Digits @.

Report Screen Layouts & Source Code 64 | P a g e .

Crystal Report 65 | P a g e .

Clear(). using System. using CrystalDecisions. cmd.UI. DataTable dt = new DataTable(). adp. 66 | P a g e .Data.Collections. using System.Web. SqlCommand cmd = new SqlCommand().SelectCommand = cmd. using System. using System.Connection = con. EventArgs e) { generateReports(). using System. dt. ReportDocument rpt = new ReportDocument().Co nnectionString).Page { SqlConnection con = new SqlConnection(ConfigurationManager.CrystalReports.Web.Engine.CommandText = "select * from orders".Linq.Data.UI.Generic.ConnectionStrings["coffeeConnection"].UI. public partial class Pages_reportpage : System. } public void generateReports() { try { cmd.Crystal Report using System.SqlClient. using System. protected void Page_Load(object sender. SqlDataAdapter adp = new SqlDataAdapter().Web.Configuration.Web.WebControls. using System. using System.

rpt")). rpt. rpt.Fill(dt). CrystalReportViewer1.adp.SetDataSource(dt).Write(ex.MapPath("~/Pages/OrderReport.Load(Server. } } } 67 | P a g e . } catch(Exception ex) { Response.ReportSource = rpt.Message).

Future Enhancement 68 | P a g e .

 A logical and technical error will be found less in future.  System will be more user friendly as compare to today’s system.  It will have easy search to the specific type of Employee. 69 | P a g e . consultancy. companies.  System will automatically include new Candidates which are newly created and the user can get the information about it very easily.  System will have more detail information about the different Employees.  In the security vision the user name and password authentication is more secure than today’s model. candidates etc.

Conclusion 70 | P a g e .

implementation. coding. design. I analyzed the problems and solved those problems that were faced in my project. 71 | P a g e . and testing. The project shows the flow of each and every transaction which is being carried out by the desired user successfully thus giving him the desired result. The preceding material is a sincere effort from my side to create the “ONLINE FOOD ORDERING PORTAL” software as my project work for BSc.T project.I. I did undergo from various phases of project development life cycle like analysis. I got the idea about the ups and downs taking place during the project development.It was great opportunity for us as a student to learn and understand various aspects associated with project development.

Bibliography 72 | P a g e .

Pressman (Tata Mc-Graw hill.alltheweb. Smith  ASP.Davidfode (2nd Edition)  NET (Core Reference) -by Jeff Prosise  ASP NET in a Nutshell .Sites Visited:     www.w3schools. Magnus penkee.5th edition)  Data Base Management System by RaghuRamaKrishnan (Tata Mc-Graw hill.NET with C#. Brian lyons.com Books:  Software Engineering by Roger S.com www. Wrogs United Limited The Unified Modeling Language User Guide by Grady Booch (Pearson education) 73 | P a g e .com www.by G Andrew Duthie  ASP Net by Example .google.3rd edition)  Unified Modeling Language 2 tool kit by Nons-Erik Eriksson.codeproject.com www.by Steven A.