These public facing APIs were created by META+LAB in order to provide developers an easy way to get up and running with their CSUN specific applications. Great care was taken with the data so as to not expose any private or student information and only expose publicly available information: classroom location, faculty information, class information, and awards given to faculty members.
The challenge that this project solved was to make META+LAB development more streamlined when it came to CSUN specific projects. Up to that point, every project was a monolith that had access to various databases and views in order to get the job done. This set-up was fine at the beginning but we were quickly adapting to the times and seeing that front-end libraries such as Vuejs, Angularjs, and Reactjs allowed us to serve data piecemeal in order to create a better web experience it made sense to create a lot of APIs to speed up development process.
Having gone through and developing the internal APIs had the positive effect of taking inventory of all of our data. This allowed us to become comfortable with where the data lived, as well as apply any improvements on the database layer for faster data look-ups. Another lesson that I took away was that it is easier for a front-end developer to interact with an API that is already built vs having to wait for the back-end team to make custom API end-points. This approach afforded us faster development cycles.
All of the APIs were written with Laravel Lumen, are being hosted on AWS, and are set-up to avoid any CORS issues.
The following is a list of the various roles that I assumed during the development of this project:
- Scrum Master
- Lad Developer
- Lead Software Engineer
- QA Lead