Full-Stack Hospital Management Application (CS 3733)

CS 3733 - Software Engineering

Introduction

Course objectives: This course introduces the fundamental principles of software engineering. Modern software development techniques and life cycles are emphasized. Topics include requirements analysis and specification, analysis and design, architecture, implementation, testing and quality, configuration management, and project management. Students will be expected to complete a project that employs techniques from the topics studied.

Project objectives: Create a full-stack application for Brigham and Women’s Hospital in Boston to assist hospital employees and administrators with day-to-day tasks. This application should be able to handle a range of service requests (e.g., medicine delivery, patient transport, equipment tracking, etc.), including their creation, delegation, and management. Further, the app should feature an interactive floor map of the facility to help users navigate and identify where pertinent equipment or service requests are. The app should also have easy database management for patients, service requests, and employee account management. The app was developed over the course of seven weeks and four major iterations, using Agile development methodologies.

Contribution

My role in this project began as a project manager and a part-time back-end developer, as is typical for a robotics major taking this course. That said, while I had extensive programming experience, I opted for this initial role as I had no experience in application development. I started off small - organizing the deliverables for the project and writing small amounts of back-end code to establish our SQL database. As the project progressed, I found myself deeper and deeper contributing to critical back-end functionality. Within the first development spikes and initial iteration, our team decided to restructure, where I moved into the back-end lead engineer role. By the end of the project, I was one of three top contributors on our team of 10. I was responsible for several refactors of the initial SQL relational database, and then a full rebuild using Hibernate Object Relational Mapping (ORM). Hibernate ORM significantly simplified the internal management of the database, and in turn, streamlined our code. Further, I was responsible for a prototype Google Cloud Services implementation of the database.

Application

Application login portal: Application Login

Application main dashboard: Application Dashboard

Service request dashboard: Service Request Dashboard

Interactive Hospital Map: Interactive Hospital Map

See the full code on GitHub.

Longer writeup coming soon!

Written on March 14, 2022