Gustave
Montana

Hospital Kiosk App

For Mass General Brigham and Women's Hospital


TECHNOLOGY STACK

Typescript
React.js
Node.js
Material UI
Prisma
PostgreSQL
Express
Axios
AWS
Docker
Git
Taiga
Figma

BACKGROUND

This project was developed during the Software Engineering course (CS3733) at WPI taught by Professor Wilson Wong, in collaboration with Brigham and Women's Hospital in Boston, MA. Software Engineering is a rigorous 7-week course, during which development teams of 10 students meet week-to-week application requirements, presenting their progress each week, resulting in a finished hospital kiosk application by term's end. Students take on various roles, such as Product Owner, Project Manager, Scrum Master, and more. The goal of the course is to provide students with as close to real-world development experience as possible. At the end of the term, our final presentations were watched by representatives from BWH, to take ideas in UI/UX design, functionality, and features.


APPROACH

Each team used the Agile software development approach, with weekly sprints. Upon receiving the application requirements for the week, our team met to convert the requirements into epics, which were then broken down into user stories. We used planning poker to weight each story, breaking them down into sub-tasks if necessary. The team met daily for a scrum meeting, led by our scrum master. The team was loosely broken up into front-end, back-end, and algorithms developers, where over time I became one of the lead engineers for the front-end team. At the end of each sprint, we held a retrospective meeting where we discussed what went well, what went wrong, what we could have done better, and gave shout-outs to team members that went the extra mile.


FEATURES

1

Hospital Pathfinding

Pathfinding demo

One of the main features of the application was that it had to be able to give the user directions from one point of the hospital to another, using a pathing algorithm of their choice. It also had to provide text directions, guiding the user down hallways, telling them which way to turn, and which elevators and stairways they should use. My team implemented an additional feature which allows the user to scan a QR code containing the directions, so they can follow along on their phone.

2

Service Requests

Dashboard demo

The other core requirement of the application was the ability for a logged-in staff member to be able to use the kiosk to make a service request of their choice, as well as view any active service requests. Our group chose to follow a dashboard approach to making and viewing service requests. The user picks the service request they’d like to make using the dropdown menu at the top of the form on the right, fills out the form, and submits it to the hospital’s system (not actually). Upon their submission, the active request appears in the table on the left, which is complete with sorting and filtering capabilities. The staff member can also choose to expand the active requests table.

3

Map Editing

Table with map node information

When logged in, admins (not just any staff members) are able to delete all of the map nodes and edges and upload new nodes and edges. They are also able to interact directly with the map, where they can drag nodes and edges, delete individual nodes and edges, and edit the location of nodes by changing their X and Y coordinates.

4

Statistics

Statistics page with graphs

Staff members can view a statistics page, where they can find a wide variety of information breaking down the distribution of the number of requests. There are bar charts showing the number of requests by type, priority, status, and user, and a pie chart showing the percentage of requests by any of those same parameters.


TAKEAWAYS

Full-stack Development

Although I focused on front-end, I spent time interacting with the back-end and I got a lot of valuable experience with creating full-stack features.

Leadership

I didn't start out a lead developer, but by the end of the term I had taken a leadership role. Team members came to me with questions, and I was able to develop my leadership skills.

Agile Development

This was my first time using the Agile methodology for software development, and the fast paced nature of 1-week sprints was overwhelming at times, but effective.

All in all, this project was an incredible learning experience for me! It was the first time I took on a large full-stack application like this, and working in a team this large on a software development project was a first too. I got the chance to take on a leadership role, and I learned a lot about the Agile software development process. I also learned a lot about the importance of communication in a team, and how to work with people who have different skill sets and backgrounds than me. I've known I have a passion for front-end development for a while, and this was a great opportunity to throw myself into a large UI undertaking. Overall, I’m really proud of the work we did!


Next Project: Data Collection Tool

Read More