Skip to content

yhouyang02/walmonitor

 
 

Repository files navigation

Walmonitor

Overview

Walmonitor is a dashboard for visualizing the performance of Walmart stores across different branches and time periods. It provides insights into sales trends, product line rankings, and other key performance indicators to help stakeholders make informed decisions.

Project maintainers

Users

The primary users of this dashboard are Walmart store managers and regional directors who need to monitor store performance and make data-driven decisions. Prospective users also include analysts and executives who require insights into sales trends and product performance across the company. You can check out what the dashboard provides from the web app (adjust your browser zoom level for the best viewing experience):

For a demo on how to use the dashboard, please refer to the animation:

Demo animation

You can also apply your own dataset to the dashboard by following the instructions in the next section. Simply replace the data/raw/walmart_sales_data.csv file with your dataset (make sure to keep the same format and column names) and run the app locally.

The dataset in the shown in the repository and shiny app was obtained from the Walmart-Sales-Data-Analysis public repository by Mohammed Shehbaz Damkar.

Contributors

You can run this app locally following the instructions below.

  1. Clone this repository:

    git clone https://github.com/UBC-MDS/DSCI-532_2026_2_walmonitor.git
  2. Navigate to the project directory locally:

    cd DSCI-532_2026_2_walmonitor
  3. Install the required dependencies (we recommend using conda):

    conda env create -f environment.yml
    conda activate walmonitor

    Alternatively, you can install the dependencies using pip:

    pip install -r requirements.txt  # not required if using conda
  4. (Optional) If you want to test the LLM-assisted chatbot feature locally, you will need to set up your API keys. You do not need this step to run the dashboard without the chatbot feature.

    • Follow this instruction created by Ilya Musabirov to generate your GitHub token.

    • Create a .env file in the root of the project directory and add a single line as below. Replace your_github_token with the token you generated in the previous step.

      GITHUB_TOKEN=your_github_token
    • Do not push your .env file to the remote repository. The .gitignore file in the repository already includes an entry to ignore the .env file.

  5. Run the app in reload mode:

    shiny run --reload src/app.py
  6. Check the terminal for the local URL (e.g., http://127.0.0.1:8000) and open it in your web browser to view the dashboard.

To contribute to this project, please refer to the contribution guidelines and the code of conduct.

Tests

Prior to running the tests, follow the first 3 steps in the Contributors section above to set up the repository.

  1. Install the browser required for UI tests (one-time setup).

    playwright install chromium
  2. To run the full test suite, run the following command from the root of the project. This will start both unit tests and UI tests.

    pytest
  3. To start only the unit tests or UI tests, run one of the following commands.

    pytest tests/unit  # run unit tests only
    pytest tests/playwright  # run UI tests only

LLM usage disclosure

Large language models (LLMs) were used to assist the development of this project. We did our best to ensure that the use of LLMs was ethical and transparent. Below is a table summarizing the LLMs we used, their purposes, and the last time we accessed them.

Model Usage Last Accessed
GitHub Copilot Pull request review, code fix, style consistency March 2026
GPT-5.2 Dashboard sketch generation February 2026
GPT-4.1 mini Chatbot integration March 2026

Copyright

Copyright © 2026 Jacob Cann, Mailys Guedon, Yuheng Ouyang, Li Pu.
Free software distributed under the MIT License.

About

An interactive dashboard for visualizing the performance of Walmart stores across different branches and time periods.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

No contributors

Languages

  • Jupyter Notebook 51.1%
  • HTML 48.6%
  • Python 0.3%