The Smart Café Management System is designed to streamline the daily operations of a modern café using the OSGI framework. The system leverages a microkernel architecture to provide modular, scalable, and efficient management of key café operations. By dividing the system into Producer and Consumer bundles, the café can handle tasks such as order processing, stock management, payment processing, and employee shift management decoupled and flexible.
- Efficient Order Management: Handle customer orders seamlessly and ensure timely service.
The Order Processing Service manages new orders and sends the details to the Waiter.
The Order Processing System begins by welcoming the user and displaying a menu. Users select items, specify quantities, and confirm additions. They can choose to add more items or proceed to select an order type. The system calculates the total bill, applies a discount if specified, and displays the final amount. Users then select a payment method, and the system processes the payment. Finally, an order summary is displayed, and the system concludes with a goodbye message.
- The system greets the user with a friendly message, indicating that it is ready to take an order.
- Displays the menu, including a list of items with their item numbers, names, and prices.
- Prompts the user to enter the item number and quantity.
- Confirms each addition with a ✅ emoji, displaying the item name and quantity.
- The system asks if the user wants to add more items:
- Y (Yes): Continue adding items.
- N (No): Proceed to the next step.
- The user selects the order type:
- Dine-in 🍽️: Eating at the café.
- Takeaway 🥡: Taking food to go.
- Delivery 🚚: Food delivered to their location.
- The system calculates the total before applying any discounts and displays the amount.
- The system offers the user discount options:
- 10% Discount 💰: Deducts 10% from the total bill.
- Rs. 50 Off 🪙: Flat discount of Rs. 50.
- No Discount ❌: No discount is applied.
- Displays the final bill amount after applying the selected discount.
- The user selects a payment method:
- Cash 💵: Pay with cash.
- Credit Card 💳: Pay using a credit card.
- Digital Wallet 📱: Pay using a digital wallet (e.g., PayPal, Google Pay).
- Processes the payment based on the selected method:
- ✅ Success Message: Payment successful.
- ❌ Failure Message: Payment failed.
- Displays a detailed summary including:
- Ordered items with quantity & price.
- Subtotal (before discount).
- Applied discount (if any).
- Final total (after discount).
- The system displays a goodbye message when the order process concludes.
- Java (Primary Language)
- OSGI Framework (Microkernel Architecture)
✔️ Modular & scalable architecture with Producer and Consumer bundles.
✔️ Efficient order processing and payment handling.
✔️ Multiple payment methods supported.
✔️ Discounts & promotional offers integration.
✔️ Flexible ordering options (Dine-in, Takeaway, Delivery).
java -jar felix.jar
install file:OrderProcessingProducer.jar
start file:OrderProcessingProducer.jar
or
start <bundle_id>
stop file:OrderProcessingProducer.jar
or
stop <bundle_id>
install file:OrderProcessingConsumer.jar
start file:OrderProcessingConsumer.jar
or
start <bundle_id>
stop file:OrderProcessingConsumer.jar
or
stop <bundle_id>