top of page

OPEN_IMS

Database architecture & UX/UI Design

Open-IMS MOCKUPS (1).png

A tailored inventory management solution for a pharmaceutical wholesaler.

TOOLS

Frame 6.png

MY ROLE

Lead Product Designer & Database Strategist

TEAM

1 Lead Product Designer & Database Strategist

1 Lead Developer

4 Developers

RESPONSIBILITIES

Conducted User Research

Competitive Analysis

Created User Personas

Entity Relationship Diagram

Database Modelling

Wireframes

User Testing

Interactive Prototype

Design System

SOFTWARE DEVELOPMENT LIFECYCLE:
MODIFIED WATERFALL

UX DESIGN APPROACH

Group 4259.png

Project Overview

THE PROBLEM

Christensen Consulting Group (CCG), a pharmaceutical wholesaler, was relying on Excel spreadsheets to manage their inventory, however their business had outgrown this method and they needed a more sophisticated solution. As their business scaled, this manual system became inefficient, error-prone, and time-consuming. CCG has explored existing inventory management software but found them overly complex with many unnecessary functionalities. Ultimately they decided they wanted a more tailored solution for their specific needs.

CHALLENGE

How might we design a streamlined, user-friendly inventory system that meets CCG’s specific operational needs with the ability to grow alongside their business?

THE GOAL

To create a custom inventory management system that centralizes key business operations, automates inventory updates and reduces manual input.

Research

Developing a Persona:

I built the following personas after several meetings with the client and their employees. Referencing this personas throughout the design process helps me understand the perspective of the software's end user and guide my design decisions.

Competitive Audit:

Before beginning the design I also researched existing inventory management software. By exploring various software options and analyzing their strengths and weaknesses, I gained valuable insights into industry standards, user expectations, and emerging trends. This research not only informs my design choices but also enables me to identify opportunities for innovation and customization. 

Starting the Design

Modeling the Database

Designing a well-structured database schema for our inventory management software was crucial to the functionality and reliability of the entire application. Proper database design ensures that the data related to products, vendors, customers, sales orders, and purchase orders is stored and managed accurately and efficiently. Moreover, a well-designed database mitigates risks such as data anomalies, redundancies, and inconsistencies, enhancing data reliability.

Leveraging my understanding of relational algebra and SQL commands, I meticulously crafted an effective database schema for OPEN_IMS. This included establishing tables, defining data types, primary keys and foreign keys for each relation. Throughout this process, I kept in mind the anticipated data usage patterns, specifically, the types of queries that would be performed on our data. This consideration helped guide me while defining the relationships between entities. 

Entity Relationship Diagram
Wireframe - 3.png
Paper Wireframes

After modeling the database I pivoted my attention to the user interface and created paper wireframes. I strategically complete the database design prior to beginning designing the user interface as I knew it would provide a blueprint for how data would be organized and managed within the application. This, in turn, also guides the user flow by defining how the user could input and interact with data in our application.

IMG_1638.jpg
IMG_1635.JPG
IMG_1636.jpg
IMG_1633.JPG
IMG_1632.JPG
IMG_1634.JPG
Digital Wireframes

Next I made digital wireframes and connected the screens to create a low-fidelity prototype.

Frame 49.png

Refining the Design

Design System

As the UX designer on a collaborative team with three skilled software engineers, I recognized the importance of establishing a design system for our project. This design system served as a central reference point, ensuring that my designs remained consistent between the Figma prototype and the final product. This design system lays the foundation for an efficient hand off of my designs to the engineers and minimizes the likelihood of design inconsistencies or misinterpretations.

Dashboard Design

With usability in mind simplicity and consistency were key principles guiding the design of screens in our application. However, the dashboard page provided a unique opportunity for creative exploration. I took advantage of this opportunity to experiment with its design, iterating on various concepts.
 

To refine the dashboard's user experience, I actively sought feedback from multiple sources, including the software engineers I was working with, our client, and the UX design community via internet forums. This iterative process of incorporating feedback into subsequent iterations allowed me to fine-tune the dashboard's design.

Dashboard Early Iteration
Dash00.png
Dashboard Changes
  • Improved data presentation and legibility

  • Improved accessibility with increased contrast text and background colours

  • Improved visual hierarchy with increased text size variation

  • Reduced extreme border radius

  • Use of colours made intentional (in stock = green, low stock = orange, out of stock = red)

  • Padding and spacing made consistent 

Dashboard Final Iteration
Dashboard (2).png
Open-IMS MOCKUPS (3).png

High-Fidelity Prototype

Upon logging in, users are immediately greeted with the dashboard page. This central hub offers an at-a-glance overview of critical business activities, such as income and expenses within a specified timeframe, sales activities, inventory summary, recent sales orders, and a spotlight on the top-performing products. Users can access other pages through the side navigation menu on the left and review notifications by clicking on their profile located at the bottom left of the interface.

With the exception of the dashboard, the application maintains a deliberate consistency across its pages. When users navigate to a page such as "Customers" through the side navigation menu, they are initially presented with a table listing all customers, accompanied by essential information. On this page they can perform a search, apply a filter to the customers listed, or create a new customer. 

Users can select multiple customers at a time and perform bulk actions such as export or delete. By clicking on one customer from this table, users are taken to a dedicated page for that customer, offering additional relevant information including previous orders from that customer. Users can also edit the customer from here to update information as needed.

Remaining pages follow a similar user flow for creating new items, viewing additional information, and editing existing entries. 

Open-IMS MOCKUPS (2).png

Takeaways

Although this project is still ongoing, it has already been a valuable learning experience. Taking on the database modeling allowed me to apply some of what I learned in my computer science courses as well as showcase my problem solving skills. Further, collaborating with a talented team of software engineers has not only enriched my understanding of the development process but also highlighted the importance of effective communication and the critical relationship between designers and developers. As the project continues to evolve, I look forward to further refining these skills, and contributing to the ongoing success of this collaborative endeavor.

Next Project:

Kitchen Compass

KITCHEN COMPASS (8).png
bottom of page