Project VERITAS

==Problem Definition==
Design and implement a secure database that communicates securely and dynamically with a web interface. The database has read only access from the web interface. The interface follows accessibility standards and will work on a range of hardware. Communications are encrypted in both directions.
===Background===
Pacific Northwest National Laboratory needed a simple way to access their research data on different components. They also needed a secure database to hold the data. 
Project VERITAS was created because:
* it offers a simple way to search through all the data 
* makes it easy to find a specific product
* it provides secure access to data
* makes it easy to add new product data
===Deliverables===
* Accessibility standards compliant web interface that accesses product data
* MySQL database to store product data
* Secure communication between web interface and database
* Documentation detailing the use of all code and supporting resources
==Design==
====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. The communications to and from the database are encrypted.
====Initial Design====
====Current Design====
 	The main website allows the user to search the database from a dropdown menu that is populated by what the user chooses until the user is satisfied by their selection. The user can then submit their selection to view the most valid options in the database, displayed by the postcard view. This design choice of only using the dropdown menus gives added security since there is no way for a SQL injection attack to happen.
300px | upright |left | alt= | VERITAS Postcard View 	The postcard view will be displayed after the user has made their selection from the dropdown menus and clicked the submit button. This will display the most relevant choices with a small bit of information on all matching products. This will allow the user to see select the most relevant product given their needs. They can click on the postcard view to lead them to the full product page. The postcard view will show up on the main webpage under the search bar and populate many postcard views.
300px | upright |left | alt= | VERITAS Full Product Page	The full product page is a separate website from the main webpage and is accessed from the postcard view. All product information that the database has on that product will be displayed on this page. *All data shown is representative.
300px | upright |left | alt= | VERITAS Database 	The database holds all of the information we have on all products. It needs to encrypt all communications, so no data is ever compromised. Each page will query the database and have its' fields dynamically updated. The only way to make changes to the database will be from a non-web based entry method that will require authentication.
300px | upright |left | alt= | VERITAS design 2 sketch 	This is a flow diagram of how the final design works.
==Project Learning==
*Off the Shelf Technology
 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
==Verification==
To show that the communications between the database and web interface are secure/encrypted below is a screenshot of a Wireshark packet capture.
	
==Future Work==
* Air Gapped Database
* Comparison Option
* Search Bar Option
* Popularity Postcard Sort
==Team Member Information==
Team VERITAS 	Team VERITAS 	Team VERITAS 	Team VERITAS	Team VERITAS	Team VERITAS
Picture 	Biography 	Discipline 	 	 	
Alex Wezensky 	Alex Wezensky is a senior dual majoring in computer science and mathematics. Within computer science, Alex is interested in artificial intelligence and big data. In his free time, Alex enjoys playing basketball and ping-pong, and playing Rock Band with his roommates. 	Computer Science/Mathematics	 	 	
Animesh Pattanayak	Animesh Pattanayak is a senior majoring in computer science with a minor in mathematics. Animesh's interests include cybersecurity and research. Outside of academics, Animesh enjoys playing piano, guitar, and singing. Additionally, Animesh enjoys going for long walks, skateboarding, and playing soccer. 	Computer Science 	 	 	
Jocelyn Stadler 	Jocelyn Stadler is a senior in computer science with a minor in mathematics. Jocelyn is interested in cybersecurity and computer architecture. Outside of school, she enjoys reading, swimming, playing video games, and baking. 	Computer Science 	 	 	
Joel Doumit 	Joel Doumit is a senior majoring in computer science. Joel's interests include embedded systems and microcontrollers. Apart from academia, Joel enjoys watch collecting, swimming, and sport shooting. In addition to hobbies, Joel enjoys working on pet projects, including a Discord soundbot and a Raspberry Pi radio transmitter.	Computer Science 	 	 	
== Document Archive ==
* 
* 
* 
*