Skip to content

Repository files navigation

Retail Shop CSV Scheduler

This web application is built with Python and Streamlit that applies OS CPU scheduling algorithms to real world retail sales data: processing monthly CSV files and generating instant sales information.

❖ Project Info

This project bridges Operating Systems concepts with real world data analysis. Instead of scheduling CPU processes, it schedules monthly sales CSV files using FCFS, SJF and Round Robin algorithms; then analyses each file for sales insights like best sellers, revenue summaries and low stock alerts.

Built entirely from the terminal on Ubuntu i.e. no IDE used.

❖ Screenshots

Web Page
main1 main2
Upload Results
Upload Results

❖ Features

Scheduling Algorithms:

  • FCFS —> Processes files in upload order (chronological reports).
  • SJF —> Processes smallest file first (fastest results first).
  • Round Robin —> Cycles through files with configurable quantum time.

Sales Analysis Tasks:

  • Best Sellers —> Top products ranked by units sold.
  • Revenue Summary —> Total revenue, units sold, avg price per product.
  • Low Stock Alert —> Flags bottom 25% selling products.
  • Category Breakdown —> Revenue and units by product category with share %.

Scheduling Metrics Output:

  • Turnaround Time, Waiting Time, Response Time per file.
  • Algorithm efficiency summary.
  • Export full scheduling report as CSV.

❖ Built With

  • Language: Python
  • Framework: Streamlit
  • Libraries: Pandas, Pillow
  • Environment: Linux Ubuntu, terminal only

❖ Procedure to Run

▼ Requirements

pip install streamlit pandas pillow

▼ Steps

  1. Clone the repository:

    git clone https://github.com/byteofhoney/csv_scheduler_RetailShop.git
    cd csv_scheduler_RetailShop
  2. Run the app:

    streamlit run app.py
  3. Open in browser:

    http://localhost:8501
    

! The app requires at least 2 CSV files to enable the scheduler. Sample sales CSVs are included in the repo.

❖ How It Works

Each uploaded CSV file is treated like an OS process:

  • File size and row count determine the estimated burst time.
  • The selected algorithm decides the processing order.
  • After scheduling, each file is analysed for the chosen sales task.
  • A full scheduling summary table shows metrics for every file.

◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆

About

This web application takes retail sales data and process monthly CSV files and generates instant sales information.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages