CSCE Capstone

Student Site for Individual and Collaborative Activities

CSCE Capstone

Student Site for Individual and Collaborative Activites

Team 7 – Fay Jones Lab Request System

Project Overview

The Fay Jones School of Architecture has a fully–fledged build lab that includes a woodshop, laser routers, CNC routers, and 3D printers that architecture students can use in the basement of the Fay Jones building. During the COVID-19 pandemic the lab adapted, allowing students to submit job requests over email which has led to problems leading to delays in job returns or miscommunications between shifts about what is required resulting in materials being wasted. Currently the lab utilizes R&R booking software where students can just sign up for time slots for the various machines in the lab. There are other functions but since the software was initially intended to be used for library resource scheduling, many of the paid functions that are provided in the software are not being fully utilized.

Initially this project aims to provide a minimum viable solution that will operate as a ticketing system, allowing students to register and submit job files to act as a replacement to the current emailing workflow. We are utilizing the MEAN (MongoDB, Express.js, Angular, Node.js) stack to develop a SPA (Single Page Application) and then deploying the docker image to GCP (Google Cloud Platform). The scope of the project initially creating a 3D print job management system, but there is a stretch goal to implement some sort of resource scheduling capabilities which would make this project a potential candidate to replace R&R, reducing licensing costs to the lab.

Design

  • Design database schema
  • Design frontend application using Angular framework
  • Mockup user interface pages
  • Create design specifications for minimum viable solution application

Development

  • Develop Angular Modules for Accounts
  • Develop Angular Modules for Tickets
  • Develop Angular Modules for Ticket Interaction
  • Develop Angular Modules for Scheduling
  • Develop Node.js backend API
  • Integrate API with MongoDB
  • Integrate frontend modules with API endpoints
  • Integrate Angular components with special functions with API endpoints
  • Perform initial testing of application
  • Publish design cycle version to GCP

Testing

  • Perform Angular frontend testing
  • Perform Node.js API testing
  • Document bugs and improvements for next development release

A few features and goals didn’t make it into the project within the development timeline, so they had to be cut. However, these features could be developed and implemented into the application sometime in the future. Here are some possible future development opportunities that didn’t fit within the scope of the project. 

The application could include a live video feed of the 3d printers and laser routers that users could view at any time. Cameras are already present on each of the machines so staff at the lab can monitor the jobs, but there’s no unified system that allows easy access to all the video feeds. A system can be created that incorporates these video feeds directly on the application. Students would be notified that their submitted job has begun printing and they would be able to go to the application and view the live feed of their job. Staff could also have access to every feed from all the machines in one location, making spotting potential malfunctions and monitoring the machines quick and easy. 

When a student wants to use the application, they need to make a new account if it is their first time accessing it. These accounts are exclusive to the application. Work can be done with the University of Arkansas’ IT department to allow for Active Directory (AD) authentication. This would allow students to use their native University accounts like they would for other University systems. 

The application currently doesn’t have any replacement functionality for resource scheduling, so the lab still must use R&R Booking to solve this issue. Creating a new proprietary resource scheduling system for the lab would not only allow for more granular control of requirements and features needed for lab operations, but also lift the large financial burden that comes from licensing R&R Booking. 

Finally, automatic invoicing could be added that would calculate the cost of the print based on the file and material selected. The student would be emailed their generated invoice. This would further reduce the amount of work for the lab employees. 

Aaron Faubion Faubion is a senior Computer Science major studying at the University of Arkansas set to graduate in Spring 2021. Aaron is set to graduate with a Bachelor of Science in Computer Science and will be accepting a Software Engineer position upon graduation with IBM. Aaron has completed Programming Foundations I and II, Digital Design, Database Management Systems, Algorithms, Software Engineering, Programming Paradigms, Computer Organization, Cryptography, and various math courses and statistics courses. Faubion was responsible for working on the Node.js backend API as well as user interface page design and implementation. Faubion has built the main business website for a company, as well as attended various workshops and hackathons throughout his college career.  

Elliot MasonMason is a senior Computer Science major in the Computer Science and Computer Engineering Department at the University of Arkansas. He has completed relevant courses including Database Management Systems, Software Engineering, and Programming Paradigms. He was responsible for application hosting architecture, CI/CD pipelines, and both the API and the Angular frontend. He has gained valuable experience during his three years on the Linux Enterprise Administration team at Tyson Foods 

Matthew Brooke – Brooke is a senior Computer Science major in the Computer Science and Engineering Department at the University of Arkansas. Throughout his time at the University of Arkansas, he has completed several courses that will aid him in working on this project, including Software Engineering, Programming Paradigms, and Database Management Systems. He has gained work experience from his continued internship as a Software Engineer for the Tesseract Center for Immersive Environments and Game Design, where he has been tasked with implementing key project features, debugging core issues, working closely with design teams to implement UI features, and leading technical development on some projects. He supplied his skills for this project by working for front-end UI/UX design and assisting with back-end API development. 

Tanner Paschal Paschal is a senior Computer Science major in the CSCE department at the University of Arkansas. He has taken many courses that are relevant to this project, including Database Management Systems, Software Engineering, and Programming Paradigms. He has experience in web development from an internship with Arcbest Technologies. Paschal was responsible for full stack development on both the API and front-end of the project. 

Zachary Thiher Thiher is a senior Computer Science major in the Computer Science and Computer Engineering Department at the University of Arkansas. He has completed relevant courses including Software Engineering and Programming Paradigms. Thiher assisted in all areas of the project’s development, but with a specialization on the user interface and user experience. 

Capstone I Documents

Capstone II Documents

 

We have included both the PowerPoint and the PDF of our final presentation slides due to our demo videos being embedded within the PowerPoint.

Capstone II Final Presentation Slides [PPTX]

Capstone II final Presentation Slides [PDF]

 

For this project we utilized GitHub for our file management. The project can be found here