Internship Projects - KPIT
Staging Toolkit
The staging toolkit is a command line utility I wrote in Java
to aid in data transformations for the data migration team of
the Extended PLM business unit of KPIT. The utility uses Java,
MySQL, and XML. It accepts files in CSV format and enters the
data contained in the file into a MySQL database based on a
schema that was designed to allow for more efficient data
transformations.
Languages: Java, MySQL, XML
Technologies: IntelliJ IDEA, Ant, Jenkins
Source Control: Subversion
Personal Contributions
- Refined initial project requirements
- Implemented all requirements except for the XML configuration file parser
Highlights
- Increased experience in system design
- Increased experience in refactoring code
- Wrote/managed a medium-sized codebase
- Wrote an INI configuration file parser (complements the XML configuration file option)
- Increased experience with MySQL and JDBC
Legend Reports
Legend is a tool used to migrate CAD files from one Product Lifecycle Management (PLM) system
to another. It maintains a database of metadata which is used to verify
the integrity and correctness of the data before the files are migrated. The reports
that Legend provides are the primary means by which migration teams get actionable
information. I implemented six new reports that provide access to previously inaccessible
data.
Languages: Java, MySQL
Technologies: IntelliJ IDEA, Ant, Jenkins
Source Control: Subversion
Personal Contributions
- Implemented all requirements personally
Highlights
- Learned to work within a medium/large-size legacy code-base.
- Learned to work with JIRA
- Developed methods to recursively nagivate graph-like structures
School Projects
Boeing Configurator - Degree Capstone Project
Team Project - Role: Team Leader
The Boeing Configurator is a web application that facilitates creation of configuration
files for a new financial management system being implemented by Boeing at its 70 world-wide
locations. The primary objective of the system is to accept input from designated users and then
generate an XML configuration file that can be fed to the financial management system. The system
also provides a submission system, allowing administrators to generate configuration files only
after they have reviewed and accepted the user's submission. The application replaced a complex
spreadsheet-based form that was used previously, and provided several benefits: centralized storage
of user input data, a dashboard for checking status of submitted configurations, improved error-handling,
and vastly improved user experience.
Languages: C#, ASP.NET, SQL (Oracle 11g r2), Selenium
Tools: Visual Studio with JetBrains Resharper, SQL Developer, TeamCity
Source Control: GitHub
Testing Framework: MSUnit, NUnit, Selenium
Personal Contributions
- Wrote the project requirements documentation
- Designed the majority of the system architecture and database schema
- Implemented portions of the table creation SQL code and database interaction code
- Prepared and delivered the final project presentation to 400+ attendees
Highlights
- Gained experience with the model-view-controller meta-pattern
- Gained experience with eliciting and refining scope of requirements
iTrust - Software Engineering Project
Team Project - Role: Team Leader
iTrust is an open source medical record management application project used to teach the
software engineering course at NC State. Over the course of the semester, we were required to find
and correct defects in the existing code-base and implement new functionality. We followed the
agile development methodology and were required to write requirements in both functional and use
case formats. We also used test driven development, writing JUnit and HttpUnit tests prior to
implementing any new functionality. My class implemented new functionality to support obstetrics care.
Languages: Java, SQL (MySQL), JSP, XML
Tools: Eclipse, MySQL Workbench, TomCat
Source Control: GitHub
Testing Frameworks: JUnit, HttpUnit
Personal Contributions
- Wrote the requirements for enhancements being added
- Designed the enhancements being added
- Wrote JUnit and HttpUnit tests
- Assisted teammates in debugging their code
Highlights
- My team's version of the application was voted the best out of 15 total teams based on the votes of our classmates and teaching staff
Traces - Mobile Development Project
Team Project - No roles assigned
Traces is an android application that displays tweets within a given radius of a
specified address or GPS location. The user is able to use a Google maps interface or
an advanced search menu to specify the parameters of their search. The application
consumes data from a REST API previously developed by one of our team members.
Languages: Java, XML, Gradle
Tools: Android Studio
Source Control: GitHub
Personal Contributions
- Implemented the advanced search drawer
- Heavily influenced the UI design
Highlights
- Gained experience in the Android development process
- Gained experience in using a REST API