Business Scenario

This project is a Store Management App designed for small to medium-sized retail businesses. It streamlines the management of employees, products, suppliers, customers, inventory, sales (invoices), and purchase transactions. The app supports different user roles (Admin, Staff, Viewer) with appropriate access controls. The app provides an all-in-one solution for store operations, ensuring efficient management and insightful reporting.

Techniques

  • Frontend: Built with Streamlit for rapid web app development and interactive dashboards.
  • Backend: Uses MySQL for data storage and retrieval, with mysql-connector-python for database connectivity.
  • Data Handling: Utilizes pandas for data manipulation and display.
  • Authentication: Simple role-based login system.
  • UI Components: Employs streamlit-option-menu for sidebar navigation.

Workflow

Step 1: Role-based Navigation

  • Users log in with a username and password.
  • Role-based access determines available sections (Admin, Trading, Report).
    • Admin: Access all tabs: Admin, Trading, Report, Dashboard
    • Staff: Access Trading, Report, Dashboard tabs
    • Viewer: Access Report, Dashboard tab only

Step 2: Admin Management

  • Manage employees, salaries, suppliers, customers, products, and product prices.
  • Auto-generates unique IDs for new records.
  • Inline editing and deletion of records.
  • Data entry and editing via forms.

Step 3: Trade Management

  • Create and save sales invoices (with stock checks).
  • Create and save purchase transactions.
  • Dynamic product selection, quantity, and price entry.
  • Real-time calculation of totals.

Step 4: Report Management

  • View product stock availability.
  • List and filter invoices and transactions with detailed breakdowns.
  • Calculate and display total sales and purchase amounts.

Functionalities

  • User Login
  1. Login Interface

  1. Login wrong password

  1. Admin Login

  1. Staff Login

  1. Viewer Login

  • Add/edit/delete employees, products, suppliers, customers, and prices
  1. Add Employee

  1. Edit Employee

  1. Add Salary

  1. Edit Salary

  1. Add Supplier

  1. Edit Supplier

  1. Add Customer

  1. Edit Customer

  1. Add Product

  1. Edit Product

  1. Add Product Price

  1. Edit Product Price

  • Create invoices and transactions, ensuring stock is available
  1. Add Invoice with stock check: select employee name, customer name, invoice date using drop box (can not edit or delete invoice after it is created)

  1. Add Transaction: select employee name, supplier name, transaction date using drop box (can not edit or delete transaction after it is created)

  • View and filter reports on stock, invoices, and transactions
  1. Product Stock

  1. List of Invoices

  1. List of Transactions

  • Integrate Power BI Dashboard

Demo