I was given the skeleton application to start off with. I looked at each file and mentally drew a map of how the different entry points created the React application and followed the MVC model. When I started adding in my first React component, I noticed that the application used CommonJS syntax and I had learned ES6 syntax. To best utilize the time that I had, I asked if there was a way to transform the app into an ES6-based app. Because my team primarily focuses on back-end, Terry and Beka always made sure that I had at least a few points of contact and the tools that I needed.
With this sample-app, I was able to easily transfer the knowledge that I had learned from the trainings, and take off. I figured out how to make REST calls using axios and display tables via React-Bootstrap to show the JSON data. I was also able to create a form component using Redux-forms. This component allowed the Credit Engineering developers to create financing resources programmatically instead of manually. By the time Week 8 came, I was able to successfully build and deploy the application.
The highlight of this project happened during the last three weeks of my internship – the SSO task. With the number of tasks presented, it wasn’t expected for me to get to the SSO task. However, I personally made a goal to challenge myself and make it to the SSO task. On Week 10, I was assigned the task of figuring out how to implement SSO (Single Sign-On) with 2-Factor Authentication into this application – I was so excited! With the help of the strong network that PayPal cultivates, I reached out to a couple of interns from San Jose who implemented SSO into their JS application. With the help of their document, I was able to figure out the setup, which was slightly different because the Credit Admin Console app was based off of a different sample-app than the one that they had used. As I was making the changes, I documented the process that I went through and created a document for my team as well as other teams to use as a source of truth. After communicating with the SSO team and verifying that I had the correct setup for Node.js, I was able to access the app, provide authentication on my phone, and then successfully log into the app online!