Akamai Internship 2019

Alice Chen was born and raised on the island of O’ahu. She currently attends the University of Hawai’i at Manoa (UHM) where she is pursuing a Bachelor of Science in Computer Science and a minor in Mathematics. At UHM she has interned at the school’s newspaper and wrote article briefs for two years, tutored college students in Computer Science and Discrete Mathematics for two years, and participated in a summer leadership program both as a mentee and mentor. She has also served as a senator and a committee Vice-Chair at the student government for a year and in the past year has started a student group for studying and applying algorithms. In her free time, she enjoys drawing, reading, solving programming problems on sites like codesignal as sleeping_parrot, and spending time with her pet zebra dove.

Home Island: O’ahu

Institution when accepted: University of Hawaii at Manoa

Akamai Project: Build a Web Application/API Gateway for Data Set Analysis and Validation using GraphQL

Project Site: Akimeka LLC & ASRC Federal – Kihei, Maui

Mentors: Lisa Burleson, Joey Andrews, Desislava Iorgova

Project Abstract:

Akimeka LLC and ASRC Federal are tasked to maintain the Theater Medical Data Store and Medical Situational Awareness at Theater (TMDS/MSAT) applications, which collects data from deployed military personnel. Duties towards software maintenance oftentimes require data validation for record preservation, developing new features, or integrity checking for bad data. To improve the efficiency of the tasks involved in its maintenance, I wrote an application using GraphQL to connect the different development tiers in the TMDS/MSAT applications. GraphQL is used since its queries only compose of types or objects as opposed to SQL statements, allowing for less verbose queries. This in turn can reduce the time needed to write a query for data validation. A resulting nested query in GraphQL also indicates the relationships between records, while the results of a nested SQL query is a table. With SQL queries, the relationship between tables is not inherently obvious in its results. Using GraphQL is thus expected to increase efficiency in validating data in the TMDS/MSAT applications. The application I created also uses tools such as LoopBack 4 and Apollo Server 2. I used a LoopBack 4 connector to connect to the database and generate models. The models generated map the oracle data to loopback types in order to use the LoopBack 4 Object Relational Mapper (ORM) to query from the database. The LoopBack 4 ORM is then used for resolving how the data is obtained in GraphQL. I used Apollo Server 2 as a server to connect the client to specified data sources. Apollo Server 2 also allows for the setup of GraphQL Playground on the same URL as the server. The GraphQL playground is the client for this application, and is an interface for user interaction with the database. The project also utilized node, fogbugz, and perforce in its production, and was developed using SCRUM, an Agile development methodology.