Project VERITAS

From Mindworks
Jump to: navigation, search
Team Name Team VERITAS
Sponsors
  • PNNL
  • Team Members
  • Joel Doumit
  • Animesh Pattanayak
  • Jocelyn Stadler
  • Alex Wezensky
  • Duration Fall 2017 - Spring 2018
    Faculty Advisers Bruce Bolden

    Problem Definition[edit]

    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[edit]

    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[edit]

    • 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.

    Design[edit]

    Overview[edit]

    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.

    Initial Design[edit]

    VERITAS design sketch

    Current Design[edit]

    VERITAS Main Webpage
    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.
    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.
    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.
    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.
    VERITAS design 2 sketch

    Project Learning[edit]

    • 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
    

    Team Member Information[edit]

    Team VERITAS
    Picture Biography Discipline
    Alex Wezensky
    2017 AlexW.jpg
    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
    2016 AnimeshP.jpg
    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
    2017 JocelynS.jpg
    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
    2017 JoelD.jpg
    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[edit]