Project VERITAS

Problem Definition
Our client has requested that we create a web interface that communicates with a dynamic database securely. To do this, we have broken the project up into three main parts:
 * The web interface's design and implementation. Code must be accessibility-specification compliant.
 * The database's design (including how to simply edit the contents given the proper permissions)
 * The communication protocols between the two.

Background
PNNL is looking for a means of displaying particular information about various products and their specifications in a dynamic, secure, and reasonable way. This project, thus, will require a background in databasing, querying languages, webpage languages, servers, and general client-server security.

Deliverables

 * An accessibility-standards-compliant webpage, that will act as an interface for the client wanting information.
 * An SQL database/server, able to be changed dynamically and easily, that can be queried by the webpage.
 * Documentation detailing the use of each.
 * Potentially a duplicate database/server that will be air-gapped, but this is a stretch goal.

Relevant Links/Document Archive

 * [[Media:TeamVERITASdesignslides.pdf|Team VERITAS Design Review Slides]]


 * [[Media:TeamVERITAScontract.pdf|Team VERITAS Contract]]


 * [[Media:VERITASMeetingMinutes2.pdf|VERITAS Meeting Minutes and Client Meeting Overview]]

News

 * Access to PNNL servers denied. Hosting being moved to Amazon web server for now.
 * First commits of code to repository in the works. More design direction to follow.
 * Currently have working prototypes of both websites that communicate with database and each other.

Overview
We have designed a web interface to securely connect to a database. This consists of a secure database and three main sections for the webpage (main webpage, the postcard view, and the full product view). The website should never be able to access the database in a malicious way or tamper with the data at all. Therefore, our design includes data scrubbing before the website is able to query the database. This will enhance the security of our database and provide protection for our data.

Project Learning
Various program languages - HTML5 : Visible interface - PHP7 : Gives standard programming capabilities to HTML - CSS : Presents HTML elements in the desired fashion - JavaScript : Allows user to interact with web interface Database Languages - MySQL : Main Database Server - NginX
 * Off the Shelf Technology

Why will this design work? We will be using established technologies to achieve a task within established boundaries.