diff options
Diffstat (limited to 'demos/time-tracker')
| -rw-r--r-- | demos/time-tracker/protected/app/BaseDao.php (renamed from demos/time-tracker/protected/APP_CODE/BaseDao.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/DaoManager.php (renamed from demos/time-tracker/protected/APP_CODE/DaoManager.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/Project.php (renamed from demos/time-tracker/protected/APP_CODE/Project.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/ProjectDao.php (renamed from demos/time-tracker/protected/APP_CODE/ProjectDao.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/TimeTrackerException.php (renamed from demos/time-tracker/protected/APP_CODE/TimeTrackerException.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/TimeTrackerUser.php (renamed from demos/time-tracker/protected/APP_CODE/TimeTrackerUser.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/TimeTrackerUserTypeHandler.php (renamed from demos/time-tracker/protected/APP_CODE/TimeTrackerUserTypeHandler.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/UserDao.php (renamed from demos/time-tracker/protected/APP_CODE/UserDao.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/UserManager.php (renamed from demos/time-tracker/protected/APP_CODE/UserManager.php) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/app/exceptions.txt (renamed from demos/time-tracker/protected/APP_CODE/exceptions.txt) | 0 | ||||
| -rw-r--r-- | demos/time-tracker/protected/pages/Docs/DatabaseDesign.page | 42 | 
11 files changed, 42 insertions, 0 deletions
diff --git a/demos/time-tracker/protected/APP_CODE/BaseDao.php b/demos/time-tracker/protected/app/BaseDao.php index 63b91def..63b91def 100644 --- a/demos/time-tracker/protected/APP_CODE/BaseDao.php +++ b/demos/time-tracker/protected/app/BaseDao.php diff --git a/demos/time-tracker/protected/APP_CODE/DaoManager.php b/demos/time-tracker/protected/app/DaoManager.php index b8ac55af..b8ac55af 100644 --- a/demos/time-tracker/protected/APP_CODE/DaoManager.php +++ b/demos/time-tracker/protected/app/DaoManager.php diff --git a/demos/time-tracker/protected/APP_CODE/Project.php b/demos/time-tracker/protected/app/Project.php index 660fad04..660fad04 100644 --- a/demos/time-tracker/protected/APP_CODE/Project.php +++ b/demos/time-tracker/protected/app/Project.php diff --git a/demos/time-tracker/protected/APP_CODE/ProjectDao.php b/demos/time-tracker/protected/app/ProjectDao.php index 81902e0c..81902e0c 100644 --- a/demos/time-tracker/protected/APP_CODE/ProjectDao.php +++ b/demos/time-tracker/protected/app/ProjectDao.php diff --git a/demos/time-tracker/protected/APP_CODE/TimeTrackerException.php b/demos/time-tracker/protected/app/TimeTrackerException.php index 64b11405..64b11405 100644 --- a/demos/time-tracker/protected/APP_CODE/TimeTrackerException.php +++ b/demos/time-tracker/protected/app/TimeTrackerException.php diff --git a/demos/time-tracker/protected/APP_CODE/TimeTrackerUser.php b/demos/time-tracker/protected/app/TimeTrackerUser.php index 99ac1209..99ac1209 100644 --- a/demos/time-tracker/protected/APP_CODE/TimeTrackerUser.php +++ b/demos/time-tracker/protected/app/TimeTrackerUser.php diff --git a/demos/time-tracker/protected/APP_CODE/TimeTrackerUserTypeHandler.php b/demos/time-tracker/protected/app/TimeTrackerUserTypeHandler.php index 07c46acc..07c46acc 100644 --- a/demos/time-tracker/protected/APP_CODE/TimeTrackerUserTypeHandler.php +++ b/demos/time-tracker/protected/app/TimeTrackerUserTypeHandler.php diff --git a/demos/time-tracker/protected/APP_CODE/UserDao.php b/demos/time-tracker/protected/app/UserDao.php index 4dc39b2b..4dc39b2b 100644 --- a/demos/time-tracker/protected/APP_CODE/UserDao.php +++ b/demos/time-tracker/protected/app/UserDao.php diff --git a/demos/time-tracker/protected/APP_CODE/UserManager.php b/demos/time-tracker/protected/app/UserManager.php index 1327dc3c..1327dc3c 100644 --- a/demos/time-tracker/protected/APP_CODE/UserManager.php +++ b/demos/time-tracker/protected/app/UserManager.php diff --git a/demos/time-tracker/protected/APP_CODE/exceptions.txt b/demos/time-tracker/protected/app/exceptions.txt index 6568cc72..6568cc72 100644 --- a/demos/time-tracker/protected/APP_CODE/exceptions.txt +++ b/demos/time-tracker/protected/app/exceptions.txt diff --git a/demos/time-tracker/protected/pages/Docs/DatabaseDesign.page b/demos/time-tracker/protected/pages/Docs/DatabaseDesign.page new file mode 100644 index 00000000..a306ba2c --- /dev/null +++ b/demos/time-tracker/protected/pages/Docs/DatabaseDesign.page @@ -0,0 +1,42 @@ +<com:TContent ID="body">
 +<h1>Database Design</h1>
 +<p>The design steps we take in the sample application is a data centric
 +approach. That is, we shall consider the application from the view
 +point of data structures, data relationships and data integrity.
 +Other designs starting from object and class design are also possible but is
 +not the approach taken in this guide.
 +</p>
 +
 +<h2>Entity Relationship</h2>
 +<p>We start with the following entity relationship diagram. 
 +The bold text in each entity indicate required fields. The underline
 +text indicates the entity's primary key, also denoted as <tt>PK</tt>.
 +Entity relationships are indicated with arrows between entities and
 +each relationship field is denoted with <tt>FK</tt>.</p>  
 +
 +<p>The four entities: <tt>Project</tt>, <tt>Categories</tt>, <tt>TimeEntry</tt> 
 +and <tt>ProjectMembers</tt>
 +makes up the time tracker application. While the other entities:
 +<tt>Users</tt>, <tt>UserRoles</tt>, <tt>RoleTypes</tt> and <tt>Signon</tt> are
 +usually found in applications where membership or user management is required.</p> 
 +
 +<img src=<%~ db.png %> class="figure" />
 +</p>
 +
 +<div class="info"><b>Info:</b>
 +See <a href="http://en.wikipedia.org/wiki/Database_normalization">Database Normalization</a>
 +for a quick reference regarding database design and normalization, especially the
 +3rd normal form (3NF).
 +</div>
 +
 +<h2>MySQL database</h2>
 +<p>We shall concentrate on the MySQL database for this sample application.
 +Other database engines are also possible and can be quite easily inter-changed.
 +The SQL script to initialize the MySQL database is given below. The following
 +SQL script was created using MySQL version 4.1.7. 
 +</p>
 +
 +<com:TTextHighlighter Language="sql" CssClass="source">
 +<%= file_get_contents('protected/data/time-tracker-mysql.sql') %>
 +</com:TTextHighlighter>
 +</com:TContent>
\ No newline at end of file  | 
