Restaurant Ordering System
Software Engineering

Restaurant Ordering System

JavaEmail APIPayment Integration

About this project

NurRest is a full-featured restaurant ordering and payment system that simulates a real dining experience. Customers can browse a menu, place orders for multiple items, choose collection points, and pay using cash or card.

The system integrates with the ATM Banking System for card-based payments, validating card numbers against stored member data. For cash payments, it calculates change automatically. Upon successful payment, order confirmations are sent via email.

A built-in debug logging system tracks all transactions for auditing purposes. The modular design separates concerns between ordering, payment processing, and notification, demonstrating clean software architecture principles.

Key Features

  • Interactive menu-driven ordering interface
  • Multiple item ordering with pricing
  • Cash payment with automatic change calculation
  • Card payment with ATM system integration
  • Email order confirmations
  • Transaction debug logging
  • Collection point selection

Tech Stack

JavaJavaMail APIFile I/OOOP