Case Studies Library


The purpose of this project is to create an online repository for the CS 3604 course at Virginia Tech. This course, Professionalism in Computing, has students complete case studies on various ethical issues. The issues range from historical supreme court cases to ongoing struggles. Each year nearly 300 such studies are conducted. There should be a mechanism in place to store these studies so the repository is easy to navigate and search.

Previous work attempted to use a preexisting digital library tool hosted on AWS to implement this repository. Over time, the CS 3604 copy became out of sync and out of date, leading to a mountain of issues. Initially, this group sought to overcome those issues and stay with the previous approach. After attempting to resolve those issues, the group met with a software engineer from the team supporting the original digital library platform. This resulted in a switch to a custom website, built from scratch, to host the CS 3604 repository.

The new full stack website used React.js, Express.js, Node.js, and MongoDB to accomplish this goal. Due to the late start, the group created a preliminary website architecture, before breaking into tasks of frontend development, application development, backend work, and authentication.

The new repository offers a user profile to each student in the capstone class that is accessed via a Microsoft login linked to their Virginia Tech account. Each user can upload a title, list of tags, and PDF document showcasing their case study. The rest of the site is publicly accessible and can be searched by title and tags. The searching features are less sophisticated compared to the prior website. However, the new website has the advantages of user login, linking of case studies to users via login, and easier maintainability.


Includes the final report in a PDF file, and as a ZIP dump of a LaTeX project exported from Overleaf. Also includes PDF and PowerPoint versions of the final presentation.


Website, Ethics, Professionalism