A discovery portal for CS4624 projects
Files
TR Number
Date
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
CS4624 is one of many capstone courses a student within the CS curriculum is able to take. The multimedia and hypertext course digs into the diverse range of multimedia content such as images, audio, video, and any information retrieval and access relating to it. With this comes the capstone project which is a semester long project given to us students to allow a display of mastery within our discipline. It has been a pleasure to have Dr. Farag’s guidance with the project. An insight into real-world applications as well as a diverse approach to different problems has allowed us to grow as both people and developers. The current discovery portal for CS4624 student projects serves as a platform for students working within the course to submit and hold their projects. Details included within the pages on the discovery portal consist of abstract, date, author, presentation, final report, source code, and collections. Additionally, the discovery portal contains filtering features to allow users to specifically search for any project dependent on; recent submissions, issue semester, author, title, subject, content type, and department. This allows teachers to easily access desired projects as well as a safe holding for semester long projects that students worked hard on. With this comes the purpose of the project. After reviewing the functionality and appearance of the existing discovery portal, there were many things that needed to be improved on. The first step was reworking the backend, where we made a transition from MongoDB to MySQL. This change was necessary in order to support a more scalable and relational database, where project files proved to be large, and MongoDB had limitations in supporting such file sizes. We also transitioned from Node/Express to a Flask backend that could easily interact with the ReactJS frontend. Once our system was structured to our liking, we aimed to repair the core features. The login, project sign-up, and other features were not functioning properly, and required fixes to support distinct user roles. Linking all the existing features between the frontend and backend was essential to the continuation of this project. After analyzing the discovery portal, our main focus became expanding the features for the three user roles: admin, client, and student. Because they share functionality and view collections similarly, we created a reusable home view tailored to each user's permissions. Protected pages were introduced to secure our system, and we redesigned the frontend with Tailwind and ShadCN components for a more modern interface. This overhaul now provides CS4624 students, instructors, and clients with a more efficient, centralized platform for accessing, managing, and preserving semester-long projects, eliminating the need for Canvas or manual entries. Upon completion, we hope to provide future CS4624 students and staff with a more convenient tool to guide them in their journey of completing their capstone projects.