ProductReview Example: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
Jka (talk | contribs)
m Changed from Web Programming to Web Applications category
 
(120 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Here I will build a example application using the VDF Ajax library and note the steps taken underway.
= Introduction =


This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.


== Functionality ==
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.
To have an example AJAX application  to share assessments about known items .
 


To accomplish this, then users should be able to:
To accomplish this, then users should be able to:


*login
*login
*create a user account
*choose an item from a list
*choose an item from a list
*enter information about a known item
*enter information about a known item  
*supply a rating of an item
*supply information about the place where an item was bought.
 
*supply a review of an item
The overall goal is to be able to see what users think about a particular item.
*Overview supplied reviews from other users
 
The system should be implemented using as a web application, showcasing the possibilities in the VDF AJAX library.
 
==Development ==
 
=== Creating the data dictionaries ===
We want to store information about users, places, purchases and known items. A user should be either a normal user or an administrator. The other tables should hold sufficient information about the items purchased and how the users liked them.
 
Create these tables in the database builder and create the associated data dictionaries.
 
The following data dictionaries  should now be available:
 
*Item_DataDictionary
*Place_DataDictionary
*Purchase_DataDictionary
*Rating_DataDictionary
*UserInfo_DataDictionary
 
=== [[Using the AJAX Library]] ===
 
Fetch the library from : http://www.dataaccess.nl/IframeText.asp?pageid=1378
install it
 
*Right click in the class palette in VDF12.
*press "add/remove libraries".
*press "Add Library"
*navigate to where you installed the VDF AJAX library. I installed mine in "c:\programmer\Visual DataFlex AJAX Library 1.0" .
*click on the sws file for the AJAX library
*choose "yes" for relative pathing
*chose "OK"
 
=== Creating a AJAX Web application ===
 
*choose create new
*select AJAX Web Project
*Select "Rating" as Web Application name
*enter OK
 
 
Copy everything in "Visual DataFlex AJAX Library\AppHtml" to the "\AppHtml" of your project.
 
 




=== AJAX Session management ===
The workspace is available here https://github.com/jacobandresen/ProductReview


users logging in
= [[DataDictionary|Data Dictionaries]] =
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.


*choose create new
The following data dictionaries  should now be available (Note that attributes like "UserId" in Token implies a index  on UserId on Token and a relation to the table "User")
*select "Web Object"
*select "AJAX Session Manager"
*Write "SessionManager" as Object name


==User==
*UserId (Numeric) 
*LoginName (Ascii)
*FirstName (Ascii)
*LastName (Ascii)
*Password (Ascii)
*EmailAddress (Ascii)
*Rights (Ascii)
*StreetAddress (Ascii)
*City (Ascii)
*ZIPCode (Ascii)
*Country (Ascii)


==Token==
*UserId (Numeric)
*TokenValue (Ascii)
*LastAccessed (Date)


=== Creating a AJAX Form ===
==Shop==
*ShopId (Numeric)
*Name (Ascii)
*Type (Numeric)
*Description (Ascii)
*StreetAddress (Ascii)
*City (Ascii)
*ZIPCode (Ascii)
*Country (Ascii)


*choose create new
==Product==
*select Web markup
*ProductId (Numeric)
*select AJAX Form
*Name (Ascii)
*Type (Numeric)
*Description (Ascii)
*ShopId (Numeric)
*Price (Numeric)


==Review==
*ReviewId (Numeric)
*ItemId (Numeric)
*UserId (Numeric)
*Rating (Numeric)
*Comment (Ascii)


= Implementation =


[[ProductReview VDF AJAX implementation]]


=== AJAX Masterdetail ===
[[Category: Web Applications]]
Listing user assements for items
[[Category: Data Dictionaries]]

Latest revision as of 14:14, 8 April 2020

Introduction

This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.

In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.

To accomplish this, then users should be able to:

  • login
  • choose an item from a list
  • enter information about a known item
  • supply information about the place where an item was bought.
  • supply a review of an item
  • Overview supplied reviews from other users


The workspace is available here https://github.com/jacobandresen/ProductReview

Data Dictionaries

We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.

The following data dictionaries should now be available (Note that attributes like "UserId" in Token implies a index on UserId on Token and a relation to the table "User")

User

  • UserId (Numeric)
  • LoginName (Ascii)
  • FirstName (Ascii)
  • LastName (Ascii)
  • Password (Ascii)
  • EmailAddress (Ascii)
  • Rights (Ascii)
  • StreetAddress (Ascii)
  • City (Ascii)
  • ZIPCode (Ascii)
  • Country (Ascii)

Token

  • UserId (Numeric)
  • TokenValue (Ascii)
  • LastAccessed (Date)

Shop

  • ShopId (Numeric)
  • Name (Ascii)
  • Type (Numeric)
  • Description (Ascii)
  • StreetAddress (Ascii)
  • City (Ascii)
  • ZIPCode (Ascii)
  • Country (Ascii)

Product

  • ProductId (Numeric)
  • Name (Ascii)
  • Type (Numeric)
  • Description (Ascii)
  • ShopId (Numeric)
  • Price (Numeric)

Review

  • ReviewId (Numeric)
  • ItemId (Numeric)
  • UserId (Numeric)
  • Rating (Numeric)
  • Comment (Ascii)

Implementation

ProductReview VDF AJAX implementation