This application supplies a REST API for finding University of Michigan staff members and calculating the cost to the University of meeting with them.
The purpose of this application is to provide a back-end tool for finding particular University of Michigan staff and calculating the cost of one or more of them attending any particular meeting of any arbitrary length. An example front-end application designed to tap this API is available here.
There's a lot of value to be realized in measuring the cost of meetings, because it gives us a metric we can use to help us see the return-on-investment of staff time. When combined with other metrics (like the presence and quality of an agenda; the number or business traits of the attendees; the number of actionable items in the minutes; etc.), we have a powerful mesns of studying the business value of both individual meetings and of meeting trends over time.
This is a Flask-based REST API written in Python. It leverages publicly available salary data to enable the search and selection of meeting attendees and the calculation of meeting cost. It exposes endpoints for a health check; searching for staff by name, title, and department; and for determining the cost of a meeting via a client-supplied list of staff members and the meeting length in minutes.
This application is designed to be containerized for use in a virtual machine, such as that supplied by podman. Dependencies and other considerations are handled in the containerization process automatically.
To build the API using podman, open a terminal session in this directory, then build the image and create the container:
podman build --tag um_mcc_image .
podman create --name=um_mcc_api localhost/um_mcc_image:latest
To launch the application in the same terminal session:
podman start um_mcc_api
To verify the API is available, open your browser to the health check endpoint at localhost:8000/um_mcc.
An OpenAPI specification will be available in a future release.
The salary data is published annually by the University, and this version of the application uses the November 2022 edition. This means:
- Staff's salaries may be out-of-date.
- Staff hired since the salary data was published will not be found in searches.
- Staff terminated since the publication of their salary data will still appear in search results.
As such, staff searches and cost calculations may be inaccurate or incomplete.
1.1.1
THIS APPLICATION IS NEITHER ENDORSED BY NOR ASSOCIATED WITH THE UNIVERSITY OF MICHIGAN®.
University of Michigan, UM, U-M, and U of M are trademarks™ or registered® trademarks of the University of Michigan. Use of them does not imply any affiliation with or endorsement by the University of Michigan. For all other disclaimers, including limitations of liability and a disclaimer of warranty, see the LICENSE file in this repository.
Thank you termly.io for the disclaimer language.
Copyright ©️ 2023 William L Horvath II