Inoculyst is a full-stack vaccine management website created for a single pharmacy. It was created for the course CPSC 471 (Data Base Management System) in a 3-person team. To see individual contributions, please refer to the GitHub repository.
My role primarily focused on both backend engineering and system architecture, where I:
The following section includes screen-recordings and descriptions showcasing the experience of each of the four end-user roles in the final product. Owners and pharmacists are admins; technicians and assistants are employees.
The owner has full access to the system. In "Inventory", they can manage batches—add, view, update, return, or delete them. In "Pending Requests", they can accept or reject technician requests, with accepted requests auto-updating batches. "Vaccine Groups" shows vaccine types available for new batches. "Returns" lists returned batches and their distributors. "Distributor Details" displays distributor information. In "Configure Accounts", the owner can update user info and promote assistants to technicians; other role changes must go through the database provider.
The pharmacist has access to most features in the system. They have all the features that the owner has except for "Configure Accounts".
The technician has less access to the system than the pharmacist. They cannot view returns or distributor details. They may also not add, delete, update, or return batches. Technicians are only allowed to request to update a batch's quantity, which must be approved by an admin before making an actual change to the batch. In "Pending Requests", they can delete accepted or deleted batches, so that they can make further requests to update the batch if necessary. A batch can only have one update request at a time.
Assistants have only view-access to the system. They can view the inventory, but are not allowed to modify or request modifications to the inventory.
All users have access to the "Dashboard" and "Account Settings". The Dashboard displays inventory analytics, including total batches and those expiring or expired. In Account Settings, users can view and update their username and password.
Currently, there is no option to sign up for an account. If a new user is needed, the owner must request one from Inoculyst, the database provider. In a future version, we would add functionality for owners to create and manage user accounts directly.
If you have any questions about the application, feel free to contact me!