Software Development for Network Automation

student picture

Maria Lundvall

Contact: LinkedIn

During my internship with the Integrated Systems and Automation team at T-Mobile I worked on multiple web applications for network automation. The applications were developed using MEAN stack (MongoDB, Express.js, Angular, and Node.js) and are hosted on Itential Automation Platform (Pronghorn). As a part of my internship, I worked on three different projects.

The first project that I worked on was an application built on top of the new change management system, Simplified Change. I developed two layers: an adapter layer, which allows to use Simplified Change APIs within Pronghorn, and the app layer, which allows to use Simplified Change APIs outside of Pronghorn. The application has recently been deployed, and the Simplified Change APIs can now be used by teams that work on applications that require interaction with the Simplified Change system.

My second project was to implement a new feature for the Trailblazer application. Trailblazer is an app that allows network engineers to document new network trails (connections between different devices) in a fast and easy way. I implemented the backend functionality, and developed unit tests and documentation (swagger file, Postman collection, sequence diagrams) for this feature. The feature has not been released yet, as my team is currently developing a GUI for it.

My third and last project was to implement the front end for RAN Node Re-Ip, a new application for reconfiguring network devices in a cell site. The code base for this app was taken from a different application with similar, but broader functionality, so my job was to remove unnecessary code and modify existing functionality as needed. This project is currently in progress. Once the application is deployed, the customer will be able to use it to change IP configuration of selected network devices in the specified cell site. Working on these projects allowed me to learn how to design and develop RESTful APIs, develop and deploy single-page web-based applications using MEAN stack, and how to develop unit tests for web applications using Mocha, Chai, and Istanbul test frameworks.