ProjectsDB.System
From IT Ninja's
Contents |
Introduction
The IT Ninja's ProjectsDB.System strategy proposes to develop an Online Portfolio Database and web-based GUI facility. The initial target market for this system is for creative professionals such as Architects, Designers, and/or Photographers.
Concepts
Initial Thoughts
- The System should be developed in three distinct parts:
1. BACKEND: The Database 2. CONNECTION AND QUERY: The Scripts that connects to and queries the database. 3. FRONTEND: The graphic user interface (web-based)
- The ProjectsDB.System will be based on a rational database structure.
- MySQL should be used for creation and maintenance of the database.
- The front-end should utilise PHP to connect to, and query, the MySQL database.
- A combination of PHP, HTML, XML, RSS, AJAX and CSS should also be utilised to generate the front-end GUI.
- A frontend template should be developed, this will allow various design layouts to be applied.
Concept Mind Map
Research
Related Open Source Projects
- indexified.org
- phpmyphotos
- Slimgallery
- EXIF Data Manager
- Pictag
- Gallery
- Coppermine Photo Gallery
- Moa Gallery
- Linpha
- FX Gallery
- MyPHPPictureGallery
- VGallery
- ThickBox Gallery
- freePHPGallery
- phpmygallery
- wPortfolio - worth a good look
- Camera Life - worth a good look
- SiteX
- Simple Templated PHP Image Gallery
- Simple Ajax Image Gallery
Development
BACKEND
The ProjectsDB.System backend will be created and maintained within a MySQL database.
Database Design
Tools:
- Mogwai Java Tools - Open Source Software
- DBDesigner-FORK - Open Source Software
- Altova UML Tool - Commercial Software
- Altova DatabaseSpy 2009 - Commercial Software
References:
- Worth having a look at this Database design guide.
- And from the same source, media:dbd.pdf is a good source for database design guidelines.
- Database design with UML and SQL, 3rd edition
- MtSQL Top 10 Best Practices
Database Naming Convention
1. Use of CamelCase Naming 2. Entries should be given descriptive names 3. All tables should have a common prefix, perhaps PDBS_
Required Tables
- Client
ClientID, Name, Discipline, Details, Logo,
- Project
ProjectID, Name, Description, LocationID, BeginDate, EndDate, ClientID, CategoryID, AwardsID, PhotosID, Keywords,
- Location
LocationID, Online Maps Reference, Street / Area, City / County,
- Categories
CategoryID, Type, aviation, city infill, commercial, competitions, conservation, education, furniture, identity, leisure, master planning, office, industrial, on-going, residential, small works, swimming pools,
- Photos
PhotosID, FileLocation, EXIF info, IPTC info, Title, Description, Date, Category, Notes,
- News
NewsID, DateID, Title, Summary, FullText, links,
- Press and Publications
PressID, DateID, Title, Summary, FileLink (PDF), External Link,
- Awards
AwardsID, Description, DateID, Category, links,
Physical File Store
- File Store
Image Store, range of image sizes,
- Document Store
Scans and pdf copies of publications etc
CONNECTION AND QUERY
FRONTEND
The web-based graphic user interface (GUI) will service as the Frontend for the ProjectsDB.System. PHP will is used to connect the GUI to the database. A standard set of templates will provide the general functions of the GUI. The layout will be determined by customisable Cascading Style Sheets (CSS). Use of Ajax scripts and RSS parsing will add dynamic content and advanced interactivity to the frontend GUI.
GUI Sections and Features
- Main Page - Initial
- Main Portfolio Name
- Portfolio Introduction
- News Headlines
- Section Links
- Splash Project Image or project thumbnails array
- News Section
- Latest Headlines
- Feature Story
- News Archive
- Recognition - Awards, Press, Publications
- Project Section
- Main Project Index
- Feature Projects
- Projects Category list
- Project Page
- Project Title, Description, Location, Client, Date, Architect, etc
- Project Images
- Related Projects
- Main Project Index
Administration and Editing Functions
- FrontEnd Control Panel
- Inline Unobtrusive Content Editing
- Possibly integrate Concrete functions and features.
Development
Potential Platforms for development the ProjectsDB.System:
Development Paths
- Open Source Software Development
- SaaS Development
