This page is for the projects I worked on at school.
Employee Recognition Portal
This was the final project I had to complete during my senior year. I worked on it with a group of two other people. The goal was to create a database backed website so that employees at a company can reward each other for good work by emailing certificates to each other. This was accomplished using a Linux server to host the website and Heroku’s ClearDB to store user information. The project consisted of 4 main parts.
- The login page: manages access to the page.
- The users page: allows users to send certificates, view the certificates they have sent, and manage their own account.
- The admin page: allows admins to create user accounts and manage current users. It also allows an admin to export .csv files of user information straight from the database.
- The certificate functionality: creates a .pdf certificate and emails it to the intended user.

I specifically worked on the certificate emailing functionality which was called upon by a user in the send award page.

From here a user can select an award (certificate) type, a recipient, and a date to appear on the certificate. Hitting send would start a process on the server that would generate a pdf certificate using LaTex and email it using Nodemailer. A sample certificate is below.

The process of generating certificates was rather involved. Below is a chart that shows step by step what needed to be done.
