/ENCS4330-RealTimeProject-2

Real Time Project about Supermarket Product Shelving Simulation.

Primary LanguageC

Supermarket Product Shelving Simulation

Description

This project simulates a supermarket environment where employees (shelving teams) are responsible for restocking products on shelves. It's a combined multi-processing and multi-threading application developed for the course "Real-Time Applications & Embedded Systems" at Birzeit University.

Features

  • Simulation of a supermarket with a user-defined number of products.
  • Management of shelving teams, each with a team manager and several employees.
  • Automated restocking of shelves based on product thresholds.

Getting Started

Dependencies

  • UNIX/Linux Operating System
  • GCC Compiler
  • POSIX Threads Library (pthread)
  • OpenGL Utility Toolkit (GLUT): For the graphical user interface.
  • OpenGL: Required for rendering in the GUI.
  • Standard Math Library (typically included in standard development environments)

Installing Dependencies

  • Ensure that GCC and the POSIX Threads Library are installed on your system. These are generally available by default on most UNIX/Linux systems.
  • For OpenGL and GLUT, you can install them using your system's package manager. For example, on Ubuntu, you can use:
sudo apt-get install freeglut3 freeglut3-dev
  • Ensure that the Standard Math Library is available. This is typically included in the standard development environment.

Installing

  • Clone the repository from GitHub.
  • Ensure all dependencies are installed on your system.

Executing Program

  1. Compile the project using the provided Makefile:
make
  1. Run the simulation:
make run
Screencast.from.01-13-2024.12.03.47.AM.webm

Screenshot from 2024-01-13 00-07-31 image

Help

Any command line syntax or options can be detailed here, if applicable.

Authors

  • Mohammed Owda - Team Leader
  • Mahmoud Hamdan
  • Yazeed Hamdan
  • Mohammad Abu-Shmas

Acknowledgments

  • Course Instructor: Dr. Hanna Bullata
  • Birzeit University - Faculty of Engineering and Technology

License

This project is freely available under an open license for any use.