Riya answered, “Because we separated concerns. TaskModel is independent of NotificationService . And we finally understood the Event Dispatch Thread.”
And that, she thought, was worth more than any certificate.
Here’s a short story based on your prompt, imagining the scene behind the title (likely "Winter Training" or "Winter Internship"). Title: The Last NullPointerException
Riya laughed. “Did you hardcode that?” GeeksForGeeks - Java App Development - Winter T...
Would you like a sequel about their app going viral on campus, or a technical breakdown of how they implemented the Observer pattern and multithreading?
They walked toward the hostel, past frosted trees and streetlights haloing the snowfall. Riya realized the real lesson wasn’t Java syntax or design patterns. It was the stubborn, caffeine-fueled, 3 AM belief that the next fix is always just one logical step away .
He nodded once. “This works. Why?”
Groans rippled through the room. Beside Riya, her teammate Kabir slammed his laptop shut. “I’m done. The notification service keeps crashing the UI thread.”
“Forty-eight hours left,” announced the mentor, Arjun Sir, pacing the front. “Your final submission must be a functional Android-like JavaFX or Swing app with local persistence, multithreading, and at least three design patterns. No excuses. GeeksForGeeks certificates don't come easy.”
Then the login screen rendered. No crash. She clicked “Mess Secretary.” The task panel loaded. Real-time notifications? Still pending. But the skeleton lived. Riya answered, “Because we separated concerns
Two hours later, a soft ding echoed from Kabir’s laptop. A pop-up appeared on both their screens: “New task: Inventory check – 5 kg potatoes remaining.”
The next morning, Arjun Sir ran their demo. The app opened. A mess worker added “Order 50 eggs.” Three student devices pinged simultaneously. He assigned a task to Riya’s ID. Her app showed a badge – “Task overdue: Confirm egg delivery.”