RU Cafe

RUCafe
Desktop & App

RUCafe
Desktop & App

RUCafe
Desktop & App

RUCafe
Desktop & App

Cafe ordering app built with JavaFX and Android Studio for Rutgers students.

Cafe ordering app built with JavaFX and Android Studio for Rutgers students.

Cafe ordering app built with JavaFX and Android Studio for Rutgers students.

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.