Summary

The portal project is Origins group project when students are near the end of their curriculum. Throughout this project, I dug deeper into the features of Loopback, React, Redux, and React-Router. Our goal at the end of this project was to give admins more control over user profiles, be able to make students hidden/visible, and provide employers better ways to contact students that they are interested in.

 

admin-portal-screenshot.png

Technologies

The front-end stack used React, Redux, and React-Router while the styling and design was implemented using Bootstrap V4. For our back-end, MongoDB was utilized and mLabs for our database. Our API was built on top of Loopback and Express (Node.js). The routes and views were implemented with Express and EJS templates for signing up or logging in. These were done in concurrence with user authentication, where a user can log in or sign up. Passport.js and the loopback-component-passport module were used to handle the heavy lifting with managing access tokens, and keeping track of user identities, and either allowing or unallowing users to view specific routes.

 
portal-userpage.png

Contributions

In addition to the front-end, I contributed to making Amazon S3 for image storage more workable for the end user. I had to shift permissions to allow users to upload photos without getting approval from the admin of the bucket. Our group tightened the student search to pull more accurate results. I also fixed several bugs, warnings, and errors that negatively impacted user experience.

 

portal-student-profile2.png

Reflection

After finishing our one week sprint, my group decided to take this portal on for our three-week group project which helped solidify my knowledge of working on full stack applications and I discovered to really enjoy doing mob programming in groups. It was messy when going into the code base for the first time and disorganized since many groups only worked on the portal for a one week sprint. Throughout the month-long project, we cleaned up much of the code to be more uniform and readable for the future groups to come.