RU Cafe
RU Cafe is a full-stack application developed for a Software Methodology course at Rutgers. The project began as a desktop ordering system for a hypothetical cafe and was later adapted into a mobile app. It was built using object-oriented programming principles and Model-View-Controller (MVC) architecture. I collaborated with a partner to design and implement both the front and back ends, focusing on code structure, scalability, and functionality.
Client:
Rutgers Blueprint Fellowship
My Role:
UX Designer
Time:
3 months
Tools
Figma, Google Forms
PROBLEM
Create a complete ordering system that simulates a real-world cafe experience
The assignment required us to design a fully functional cafe ordering system from scratch. It had to allow users to place orders, customize menu items, manage order history, and calculate pricing — all while applying core software engineering principles. We were challenged to ensure our codebase was modular, maintainable, and well-structured for future development.
SOLUTION
A Java-based desktop and mobile app with an organized backend and simple user interface
Together with my partner, we developed:
A JavaFX desktop app with FXML-based UI for placing and managing orders
Modular class structures for menu items, orders, and pricing using OOP
A mobile version using Android Studio that adapted the system to a modern user environment
MVC architecture to separate logic, interface, and data handling
Order management functionality, including viewing, editing, and removing items
Core ordering functionality, including:
Customizing coffee drinks and sandwiches
Viewing both current and all previously placed orders
Canceling individual items or entire orders
Exporting placed orders for external review or recordkeeping

DEVELOPMENT PROCESS
Focused on clean OOP structure, modularity, and version control
The project emphasized writing clean, testable code and collaborating via Git. I worked on designing classes that could scale with menu changes and helped integrate logic with the frontend using JavaFX. The mobile app was later built with Android Studio, applying similar architecture while adjusting for mobile interaction patterns.
KEY FEATURES & TECHNICAL HIGHLIGHTS
What I built and contributed to directly:
JavaFX-based order customization UI with real-time price updates
Backend logic for handling orders, tax calculations, and data persistence
Object classes for each menu item category (coffee, donuts, sandwiches, etc.)
Reusable controllers for form handling and scene management
Android layout files and fragments for mobile adaptation

OUTCOME
Delivered a functional, testable cafe app with scalable architecture and mobile support
We successfully met all functional requirements and received top marks for clean code structure, UI integration, and feature completeness. The mobile version helped demonstrate our understanding of platform constraints and user flow consistency across devices.
REFLECTION
This project strengthened my programming foundation and taught me how to scale logic across platforms
RU Cafe gave me hands-on experience building a full product from the ground up. I gained confidence in working with Java, practicing OOP, and managing interface logic. Although the UI design was secondary to the logic, the project helped me appreciate the connection between backend structure and user-facing functionality.