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.
- 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.
- 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)
- 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.
- Clone the repository from GitHub.
- Ensure all dependencies are installed on your system.
- Compile the project using the provided
Makefile
:
make
- Run the simulation:
make run
Screencast.from.01-13-2024.12.03.47.AM.webm
Any command line syntax or options can be detailed here, if applicable.
- Mohammed Owda - Team Leader
- Mahmoud Hamdan
- Yazeed Hamdan
- Mohammad Abu-Shmas
- Course Instructor: Dr. Hanna Bullata
- Birzeit University - Faculty of Engineering and Technology
This project is freely available under an open license for any use.