Changes between Version 2 and Version 3 of Bookmarks Project
- Timestamp:
- 06/04/15 17:12:41 (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Bookmarks Project
v2 v3 11 11 12 12 The database consists of three tables: `bookmarks`, `resources`, and `tags`. I separated `resources` (which hold the URI and title of the targets of the bookmarks) from `bookmarks` (which have an ID, a creation timestamp, and a last-modified timestamp) as a matter of conceptual purity. Since the `tags` table references `resources`, it is clear from the database structure that the tag (like the title) is a property of the ''resource'', not the bookmark. 13 14 == Classes == 15 16 {{{#!plantuml 17 @startuml 18 class Bookmark { 19 +id 20 +uri 21 +title 22 +ctime 23 +mtime 24 +tags 25 +bookmark_uri 26 +exists 27 +collection: Bookmarks 28 } 29 class Bookmarks { 30 +dbh 31 +base_uri 32 } 33 class Bookmarks::List { 34 +bookmarks: Bookmarks 35 +search: Bookmarks::Search 36 +results 37 +title 38 } 39 class Bookmarks::Search { 40 +query 41 +tags 42 +limit 43 +offset 44 } 45 class Bookmarks::Controller { 46 } 47 class BookmarksApp { 48 } 49 50 Bookmarks::List o- Bookmarks : bookmarks > 51 Bookmarks::List o- Bookmarks::Search : search > 52 Bookmark - Bookmarks : collection > 53 54 @enduml 55 }}} 13 56 14 57 == CPAN Modules ==