This is a semester project aimed at creating a pharmacy management system for a local pharmacy. The system utilizes various data structures such as lists, stacks, arrays, queues, trees, sets, maps, hash maps, hash tables, and graphs to implement the required functionalities. The main tasks of the system include drug management, searching for drugs, viewing drug information, and tracking purchase history.
- Add Drugs: Allow pharmacists to add drugs to the system.
- Search for a Drug: Provide a search functionality to find a specific drug.
- View All Drugs and Suppliers: Display a list of all drugs along with their respective suppliers.
- View Purchase History: Enable viewing the purchase history for each drug, including detailed information such as time, date, and buyer.
- Additional Functionality: Implement any other desired functionality to enhance the application.
The system should fulfill the following requirements:
- Data Structure for Drug Collection: Utilize a suitable data structure to represent the collection of drugs in the system.
- Addition, Removal, and Selection of Drugs: Outline the methods for adding, removing, and selecting drugs from the collection.
- Purchase History Data Structure: Implement a suitable data structure to store the purchase history of each drug. Sort the history based on the time and date of purchase and the total amount per purchase.
- Linking Drugs to Suppliers: Associate each drug with a group of suppliers using a suitable data structure. Implement algorithms to search for a supplier of a drug based on parameters such as supplier location.
- Utilize Data Structure Techniques: Utilize iterators, recursion, stack and queue implementations of collections, and other techniques as required for drug management, customer purchase tracking, and viewing drug and purchase history.
- Sales Tracking with Maps: Use maps to keep track of drug sales. Each time a drug is sold, its drug code should be recorded in a sales file.
- Supplier and Customer Information with Hash Maps: Store information about suppliers and customers using hash maps.