Download presentation
Presentation is loading. Please wait.
1
Semester Project Requirements
Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut 191 Auditorium Road, Box U-155 Storrs, CT (860) Important Note: When ing Questions, Please Include All s of your Entire Team so that David and I can do a GROUP Response to your .
2
Phase II Due Dates Optional Intermediate Due Date - 11:59pm 11/28
Your Team Should get ½ or more Screens Completed Submit Code and .sql DB Project Phase II: Application D & D Thursday, December 8, 11:59p, with as needed Demos Finals Week Individual Self Assessments to Due Friday December 9, 11:59p
3
Reviewing Phase I Solution
Available Files on the Web
4
Phase II Sample PHP Code
Posted sample code at: The code is for the screenshots that are in the Project PPT: The files login.php, login_admin_employee.php, register.php in the upper level directory are for slide 47 of the PPT. The customer directory has files for the dashboard, searching, and modifying a user's profile. There is also an includes subdirectory with a config file, a header file, and an arrays file ... this corresponds to slide 49 for the dashboard and slide 52 for search. The globalincludes directory has a config file, footer, and logout.
5
Phase II Sample PHP Code
The files login.php, login_admin_employee.php, register.php in the upper level directory are for slide 47 of the PPT. The customer directory has files for the dashboard, searching, and modifying a user's profile. There is also an includes subdirectory with a config file, a header file, and an arrays file ... this corresponds to slide 49 for the dashboard and slide 52 for search. The globalincludes directory has a config file, footer, and logout.
6
Reviewing Phase I Solution
7
Reviewing Phase I Solution
Items 1 and 2 – Modify Shippers with new Columns Move common info into new Company Entity Add new Payment/PaymentType Entities
8
Reviewing Phase I Solution
New Entities for: DeliveryType, ShipmentType, Shipments, ProductsToAddress, ShipAddresses Move Order columns to Shipments/ShipAddresses
9
Reviewing Phase I Solution
Focus on DBDDLFORNORTHWIND.docx Contains DDL for Migrating SteveNorthwind.sql Changes Create New Entities Modify Existing Entities
10
CREATE TABLES FOR DeliveryType, ShipmentType
11
CREATE TABLES FOR Payment, PaymentType
12
CREATE Shipments, ShipAddresses, ProductToAddresses
13
Copy of Orders into Shipments and ProductsToAddresses
14
Copy Address Info of Orders into ShipAddresses
15
Alter ORDERS can’t Drop ShipVia since FK
16
Create Company/Drop Columns
17
Remaining Changes and Initialization
18
Development Strategy for Phase II
One Person Focusing on Database Query Support Two to three Team Members Focusing on Web Screens Design/Implement Screens for Customers and Employees Repeat Process for all screens – Core Functionality Administrative Screen/Queries Sales Reporting: Unit Price/Total Sales by Product, Category, Location, Customer Employee Productivity Reporting: Most Work by EmpID by Duration, Product, Location, Customer Inventory Reporting: Stock Info on Product Customer Reporting: Buying Preferences by Duration, Location, Product, Customer
19
Customer Capabilities
Register, create, and manage an account; Set and management various payment types; Look up information by Produce Name, Category, SupplierName, etc. Place an order for Products Monitor Existing/Past Orders
20
Employee Capabilities
Entering new Products for a Supplier Inventory to Search and Order Products Review information on each customer including a customer’s demographics and play list Interact with customers to approve each “order” of customer which involves generating the invoice
21
Administrative Capabilities
Run a Variety of Reports on Individual and Overall Sales Employee Productivity re. Customers/Sales Inventory Reports by Product Name, Category, Units in Stock, Units on Order, Supplier Name, etc. Customer Reports on Preferences Reports Parameterizeable Based on Duration search by day, month, year, or date range. Location search by city/state/country Product combination of Product Name, Category, Units in Stock, Units on Order, Supplier Name Single customer, set of customers, customers in a city, customers in a state, customers in a country
22
Project Overview of Capabilities
Briefly, Let’s Review the Entire Process The Figures are Mock-Ups You can Deviate and Customize Depending on your Approach Need to Maintain Content and Consistent Look-and-Feel Note – see also link below for html based Mockups Phase II Requirements in terms of Screens and Capabilities are at a High Level Team Needs to Provide the Details/Solutions
23
LOGIN/REGISTRATION/EDIT SCREENS
Separate screens to: Register for an account on the web app Login to a registered account (but no need for password recovery) Edit/Modify your profile Registration Fields First and Last Names, Company Name (optional), Address/City/State/Country/Postal Code, Phone, Fax, and
24
LOGIN/REGISTRATION/EDIT SCREENS
25
DASHBOARD SCREENS - CUSTOMER
Buttons to log off, edit profile (goes to another screen), and set/edit payment types (goes to another screen). List of active and completed orders where clicking an order goes to another screen to show the status and content of each order. Quick Search in order to look up by Product Name, Category, Supplier, etc. Link to Order Screen that lets a customer create an Order that is sent to multiple Addresses – links to Search Screen Set/edit payment types Screen Shopping Cart Screen Pending/Completed Orders and Status Screen
26
DASHBOARD SCREEN - CUSTOMER
27
DASHBOARD SCREEN - CUSTOMER
28
Basic Customer Search
29
Advanced Customer Search
30
Payment and Shopping Carts
31
DASHBOARD SCREEN - EMPLOYEE
List of Active Customer Order (to be filled) where clicking an order goes to another screen to show the status and content of each order. Links to separate screens for: Enter/Edit New Products/Categories and Review Customer Demographic Screen. Search Screen: A search screen that allows Employees to search Products Inventory/Purchasing Screen to: monitor the inventory (via Search) and to order new and existing inventory items (products) from Suppliers. Review Customer Demographics
32
DASHBOARD SCREEN - EMPLOYEE
33
DASHBOARD SCREEN - EMPLOYEE
34
EDIT/ENTER NEW PRODUCT
35
ADMINISTRATIVE SEARCH SCREENS
Access to Employee Dashboard: Active Order Screen,Enter/Edit New Media Screen, and Review Customer Demographic Screen Screens for Individual and Overall Sales Employee Productivity re. Customers/Sales Inventory Reports by Products and Suppliers Customer Reports on Preferences Need to Define Drop Downs/Selections/etc. for Duration search by day, month, year, or date range. Location search by city/state/country Product combination Names, Amounts, Suppliers, etc. Single customer, set of customers, customers in a city, customers in a state, customers in a country
36
DASHBOARD SCREEN - ADMIN
37
DASHBOARD SCREEN - ADMIN
38
Sample Report Generation Screen
39
Sample Report Generation Screen
40
Sample Report Generation Screen
41
Sample Report Generation Screen
42
Sample Report Generation Screen
43
Sample Report Generation Screen
44
Phase II Additional Information
Need to Load Cities/States/Countries Following Sites for .sql file Utilize these to load your DB Tables for the Relevant Drop Downs Loaded them into Workbench
45
Phase II Dashboard Quick Search
Search/Admin Queries Take Input and Plug into to an SQL Template Consider Dashboard Quick Search Two Data Entry Options – Category Type and Product Name Category Type (Load drop down from DB) Can use either Drop Down (one) or Check Box (one or more) Product (or Supplier) Name Can Fill a Drop Down with Artist.Name Values Can have an Option to do a Search String Generate a Query as Below Generate […] if Product Name is entered, Generate { …} if Category Type Selected, Generate <and> if Both Category Type Product Name Enter String SELECT northwind.products.productname, northwind.products.QuantityPerUnit, northwind.categories.CategoryName FROM northwind.products, northwind.categories WHERE northwind.products.ProductName ="Chang" and northwind.categories.CategoryName="Beverages";
46
Phase II Sales Reporting
Consider Duration, Location, Media, Customer Dimensions I left off set of customers – too difficult – not worth the effort. Generate a report from the Order/Order Details Tables for Total Sales, Unit Price, Quantity, and Others you think are relevant Some Queries may Need Aggregation Load all Drop downs from DB Choices Duration Choices Product Name Enter String To: From: Location Choices Customer Choices Category Category Select City Last Name Enter String Supplier Name Enter String Select State Select City In Stock Enter Integer Select Country Select State Select Country
47
Phase II Employee Productivity Reporting
Augment Duration, Location, Media, Customer Dimensions with Employee Need to add Employee Drop down loaded from DB Generate a report from the Order/Order Details Tables for Total Sales, Unit Price, Quantity, and Others you think are relevant Some Queries may Need Aggregation Choices Emp Name Select Emp Product Name Enter String Duration Category Category To: From: Location Choices Customer Choices Supplier Name Enter String Select City Last Name Enter String In Stock Enter Integer Select State Select City Select Country Select State Select Country
48
Phase II Inventory Reporting
Inventory Reporting - 8 Data Entry Options Names Should Likely be String Searches Category Drop Downs Amounts – Ranges May want to do %EnteredName% for all String Searches Generate a Set of Results with Appropriate Labeled Columns What Should be our Output? Choices Product Name Enter String DeliveryType Category Category ShipmentType Supplier Name Enter String Amount Min Max In Stock Enter Integer Other Amount Min Max
49
Phase II Customer Productivity Reporting
Augment Duration, Location, Media, Customer Dimensions with Customer Need to add Employee Drop down loaded from DB Generate a report for WHAT they buy as opposed to AMOUNT they buy The amount they buy by Product Name, Category, Supplier, etc. Constraint by Duration, Location, etc. For one or All (will card on last name) Cust Name Select Cust Duration To: From: Location Choices Customer Choices Product Name Enter String Select City Last Name Enter String Category Category Select State Select City Supplier Name Enter String Select Country Select State In Stock Enter Integer Select Country
50
Phase II – Dividing Work for Teams
Two Person Teams Customer & Employee Screens (Dashboards/Other Screens) Admin Screen (Employee Screen plus link to Reports) Inventory Reporting Three Person Teams Sales Reporting Four Person Teams All Four Reporting Screens (Sales, Employee Productivity, Inventory, Customer Preferences)
51
Continuing Step - Organize your Team
Choose Teams – Two Versions V person teams and 5 4-person teams. V person teams and 2 3-person teams. Organize Teams Effectively - Objectives Allow Team Members to Work in Parallel Must Come to Agreement w.r.t. Common Software Arrive at a Working Plan Set Achievable Milestones/Deadlines for Team Assigning Responsibilities: Each Team Member Must Work with the DB! 1 Person - Database Creation and Maintenance (early) Shifts to GUI/Report Screens/Capabilities 1 Person – REST API - Server Development 1 Person – GUIs (1 Person on GUIs)
52
Phase II Project Requirements
Design, Development, Test an Info System Front-End Web Site Connecting to Northwind Screens/Capabilities for Customers Screens/Capabilities for Employees Screens/Capabilities for Administrators – Reports Objectives of Phase II Organize your Team Database Creation and Maintenance DB API (Middle Layer) Development – REST API GUIs for Customers and Employees – html/css
53
Final Thoughts Phase II Report (see 6 Bullet Items)
Purpose, Tasks, System Requirements, Revisions to Phases I and II Problems Found and Solutions System Architecture and Choices User Manual with Screen Shots Conclusion, Assessment, Evaluation Team Member Contributions .sql file, Source Code, DB Instances, Screen Shots Demos in Person if needed
54
PHP and MySQL Links
55
PHP Frameworks PHP html Frameworks PHP Mobile Frameworks
PHP Mobile Frameworks
56
Other Sample Screens and PHP Code
Additional PHP Examples Files header.php – for top of all web pages footer.php – for bottom of all web pages validator.php – check data values entered by users from web pages index.php – main page register.php – for registration search.php – for seaching
57
Other Team1 Screens Posted
THIS SCREEN IS IN index.php Also from index.php – Orange Items Pulled from DB
58
Other Team1 Screens Posted
THIS SCREEN IS IN register.php THIS SCREEN IS IN search.php
59
First Sample
60
First Sample
61
validator.php
62
Sample Reporting Screens
63
register.php
64
Phase I Deliverables The ER Design in: GroupZNorthwindmodel.mwb where Z is your Group Letter Your generated GroupZNorthwind.sql In MySQL Workbench (see following slides) Select Server/Data Export Select the Database (checkbox) Export to Self-Contained File A Report that explains your ER design entities (additions and changes) and details who did what on which portions of the team. Upload all to Huskyct under one teammates name.
65
Project Requirements Team Project - Discussion Between Teams Allowed if you are Helping with DB Configuration, Programming Question, etc., NOT Joint Design/Development! Implementation Languages/Platform MySQL Workbench, php, html/css Aptana Studio 3 for web Mobile UI Framework for mobile Overview/Other Sample Screens Strongly Encouraged to Enhance/Extend Documentation of Proposed Enhancements Should Work on Chrome
66
Project Domain Design, Develop, and Test the Information System for Northwind DB Bleeding Edge of Capabilities and Features Three Phases Thursday, October 20 Finalize Groups for the Project Project Phase I: Friday, October 31, 11:59pm (EER to Relational Design) Project Phase II: Thursday, December 8, 11:59p, with as needed Demos
67
Clients and Software Architecture
Mobile App Web Client Customer Connect and Interact with MySQL REST php API MySQL Web Client Employee Front half contains API (Java calls) that hide DB interactions from Client Back half is the implementation of the classes that contains code to open the database connection, perform a query, collect results, etc.
68
Project Requirements Phase I Report ER diagram with Additions
Ported Database .sql File with Tuples for Testing Submit to HuskyCT Phase II: Project File loadable into IDE .sql File with Tuples for Testing User Manual Individual Contribution/Self Assessment Individual: Requires a Log Self Assessment: Overall Teamwork See Phase II Assignment Requirements Final Demo – TBD if a Team’s code Won’t Run
69
Phase I Project Requirements
Relational DB Design, DB Change, DB Migrate: Extend Shippers to also include attributes ContactName, ContactTitle, ShipmentType (Ground, Air, Sea), DeliveryType (Overnight, Two-Day, Other). Abstract common information from Suppliers and the Extended Shippers entity into a new Company Entity. Reformulate Categories as a set of entities in an inheritance hierarchy where Extend and/or reformulate Orders/Order Details to ship of an Order to different addresses Extend Northwind with entities for Payment Migrate the current Northwind schema to the new schema Due Date: Monday, October 31, 11:59pm
70
ER For Phase I - Northwindmodel.mwb
71
PhaseINorthwind.mwb
72
PhaseINorthwind.mwb
73
PhaseINorthwind.mwb
74
What Are? Define Views Also Represent Queries that can are Reports
Can View them in Workbench May be Useful for Admin Reports of Phase II
75
Viewable in Workbench
76
Products by Category # # # Add View "Products by Category" # # # CREATE VIEW `Products by Category` AS SELECT Categories.CategoryName, Products.ProductName, Products.QuantityPerUnit, Products.UnitsInStock, Products.Discontinued FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID WHERE Products.Discontinued <> 1
77
Sales Summary by Year # # # Add View "Summary of Sales by Year" # CREATE VIEW `Summary of Sales by Year` AS SELECT Orders.ShippedDate, Orders.OrderID, `Order Subtotals`.Subtotal FROM Orders INNER JOIN `Order Subtotals` ON Orders.OrderID = `Order Subtotals`.OrderID WHERE Orders.ShippedDate IS NOT NULL
78
Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Extend Shippers to include attributes ContactName, ContactTitle, ShipmentType (Ground, Air, Sea), DeliveryType (Overnight, Two-Day, Other) Define new Tables for ShipmentType and DeliveryType Abstract common information from Suppliers and Extended Shippers entity into new Company Entity Change and Extend Northwindmodel.mwb New CompanyID but keep SupplierID and ShipperID
79
Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Reformulate Categories into inheritance hierarchy where there is shared information in the parent and category specific information in the child entities Beverages, Condiments, Confections, Dairy Products Grains/Cereals, Meat/Poultry, Produce, Seafood What are common attributes? Name, Description? What are unique to children? fresh, frozen, dried for Meat/Poultry, Farm raised/will for Seafood, Reuse CategoryID
80
Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Add a new entity or entities that would add links for clips of songs that would reference web addresses of Google Play and iTune Provided a Discussion of the Available Ways to Find Music Online Intended to Provide you with an understanding of what Needs to be Stored in an Entity for Clips One Option: Google Search as a Means to Find Address Another Option: APIs for Google Play and iTunes
81
Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Extend and/or reformulate Orders/Order Details to ship of an Order to different addresses Each Order has Mutliple Products Different subsets of OrderID/ProductID to different Addresses Need to track multiple Addresses Split off some Attributes from Shipper into new Table?
82
Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Extend Northwind with appropriate entities for Payment Capabilities Off of the Order and/or OrderDetails Entities? Migrate current Northwind schema to new schema Create New Company, ShipmentType, DelieryType, new inheritance Category, and Payment Tables. See of the chapter 4 PPTs Run Queries Against Supplier/Shippers to extract Shared Info to Store in new Company See 4.72 of Chapter 4 PPT for INSERT w/SELECT Remove Columns from Supplier/Shippers Alter Table Similar process if Order Split into Two Classes
83
CREATE TABLE AND INSERT INTO Examples
CREATE TABLE GROUPZNorthwind.SampleTable (SampleTableId INT NOT NULL, DataItem VARCHAR(120), PRIMARY KEY (SampleTableId )); INSERT INTO GROUPZNorthwind.SampleTable VALUES (1, ‘Hello World');
84
INSERTING WITH SELECT INSERT INTO GROUPZNorthwind.SampleTable
(GROUPZNorthwind.SampleTableId, GROUPZNorthwind.DataItem) SELECT GROUPZNorthwind.GenreID+1000), GROUPZNorthwind.GenreName FROM GROUPZNorthwind.Genre; This Copies all of the Genre ids (+1000) and genre names into the SampleTable. Notice that all Column Types MUST match. Why have we Added 1000? There are 59 Employees and 8 Customers. EmpIds go from 1 to 59; CustIds from 1 to 8 New PersonId/UserId Can’t Reuse these.
85
Phase I Resources The EER diagram: PhaseINorthwind.mwb
The Northwind Schema: Changes to: PhaseINorthwind.mwb but be migrated to loaded: SteveNorthwind.sql and then Stored
86
Phase I Deliverables The ER Design in: GroupZNorthwindmodel.mwb where Z is your Group Letter Your generated GroupZNorthwind.sql In MySQL Workbench (see following slides) Select Server/Data Export Select the Database (checkbox) Export to Self-Contained File A Report that explains your ER design entities (additions and changes) and details who did what on which portions of the team. Upload all to Huskyct under one teammates name. David with name
87
MySQL Data Export
88
GroupZNorthwind.sql
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.