[Indic-computing-devel] Technology Map DB Design & Functionality
Status: Alpha
Brought to you by:
jkoshy
|
From: Tapan S. P. <ta...@ya...> - 2003-01-20 17:20:29
|
Hi All,
Please find below proposed functionality and DB Design for the
Technology Map. Please try to go through it and suggest anything else
we would like to track.
The types of functionality proposed for the site include:
Projects
--------
-- Add a Project Listing
-- Modify a Project Listing
-- Delete a Project Listing
-- Add a User Comment
-- Add a User Review
-- Add a Editorial Comment
-- Add a Editorial Review
-- Search for a Project According to Platform, Category, Type,
Localisation, etc.
Fonts
--------
-- Add a Font Listing
-- Modify a Font Listing
-- Delete a Font Listing
-- Add a User Comment
-- Add a User Review
-- Add a Editorial Comment
-- Add a Editorial Review
-- Search for a Font According to Type, Language, License, Quality, etc.
Users
-------
-- Register
-- Login
-- Forgot Password
Any more functionality required for the first cut of this?
Here is the DB Design:
Technology Map DB Design
--------------------------
Table: Project
==============
ID
Name: String
HomePage: String
ContactName: String
ContactEmail: String
ProjectStart: Date
LastUpdated: Date
License: {Proprietary | GPL | Shareware | NoLicense | PublicDomain |
Other}
CurrentVersion: String
ProjectType: {Application | API | OS | Distribution | Driver | Other}
ProjectCategory: ForeignID to Category Table
Platform: Foreign ID back to Project Table (Idea is that Linux, Win98,
etc. would all be entities in Project Table)
IndicInputSupport: { Full | Partial | None }
IndicPrintingSupport: { Full | Partial | None }
UnicodeSupport: { Full | Partial | None }
OTFSupport: { Full | Partial | None }
OtherEncodings: String
ShortDescription: Text
LongDescription: Text
Screenshot: (Optional)
Table: ProjectCategory
=======================
ID
Name: String
Parent: ForeignId to ProjectCategory Table (recursive for hierarchy)
Table: ProjectLocalisationMapping
===========================
Project: ForeignID to Project Table
Language: String
Status: { Full | Partial }
LocalisationContactName: String
LocalisationContactEmail: String
LinkToGlossary: String
Table: ProjectUserComment
=======================
ID
FontID: ForeignID to Font Table
UserID: ForeignID to Login Table
Name: String
DateSubmitted: Date
Comment: String
Table: ProjectUserReview
========================
ID
FontID: ForeignID to Font Table
UserID: ForeignID to Login Table
Name: String
DateSubmitted: Date
Comment: String
Usability: Integer
Localisation: Integer
Rendering: Integer
Printing: Integer
Table: Font
===============
ID
Name: String
CreatorName: String
CreatorEmail: String
OwnerName: String
OwnerEmail: String
License: {Proprietary | GPL | Shareware | NoLicense | PublicDomain |
Other}
DownloadLink: String
Current Version: String
Type: {OTF | TTF | Type1 | Macintosh | Other}
Encoding: {Unicode | ISCII | ISFOC | TSCII | Other}
Language(s): String
NumberGlyphs: Integer
Hinted: Boolean
Screenshot: (Optional)
Table: FontLanguageMapping
===================
Font: ForeignID to Font Table
Language: String
Table: FontUserComment
=======================
ID
FontID: ForeignID to Font Table
UserID: ForeignID to Login Table
Name: String
DateSubmitted: Date
Comment: String
Table: User
============
ID
Login: String
Password: Encoded String
FirstName: String
MiddleName: String
LastName: String
EmailAddress: String
UserRating: integer
NumberOfReviews: integer
UserNotes: Text
Anything to add?
-- Tapan
|