Skip to content

producer-consumer-based solution using Java to handle the print jobs in a print shop.

License

Notifications You must be signed in to change notification settings

AkinduH/ERC_Reservation_System

Repository files navigation

ERC_Reservation_System

Project Overview

This project implements a producer-consumer-based solution using Java to handle the print jobs in ShinePrinters. The system includes support for different file types, and a web interface that allows customers to submit print jobs remotely before coming to the shop.

Technologies Used

Java Getting Started To set up the project, follow these steps:

Handling Concurrency and Exceptions

The project addresses memory consistency errors and other concurrency issues that may arise in the multi-threaded system. The TypeNotSupportedException is implemented to handle situations where the printers cannot process certain file types. The Computer and Printer classes are extended to handle this exception.

Web Interface

The ReadAFile method is implemented to read a given text file and add its content to a TextFile class object. This supports the web interface that allows customers to submit print jobs remotely before coming to the shop.

Best Practices

The code follows appropriate best practices, such as proper exception handling, thread-safe implementation, and clear separation of concerns.

Future Enhancements

Potential future enhancements for the ShinePrinters system include:

Support for additional file types

Improved web interface with more features Advanced scheduling and prioritization of print jobs

Contributing

If you would like to contribute to this project, please feel free to report issues, suggest improvements, or submit pull requests.

License

This project is licensed under the MIT License.

About

producer-consumer-based solution using Java to handle the print jobs in a print shop.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages