Project Overview#
Project: Olsker Cupcakes
Semester: Datamatiker – 2nd Semester Project
Focus: Web application prototype for online cupcake ordering.
The Olsker Cupcakes project is a web-based system developed as part of the second semester of the Datamatiker program.
The application demonstrates how a small local bakery could introduce a digital ordering platform where customers can design and order custom cupcakes online. The system allows users to choose a cupcake base and topping combination and place an order for in-store pickup.
The project focuses on implementing a clear ordering workflow and demonstrating a maintainable backend structure.
Background#
Olsker Cupcakes is a small organic bakery located in Olsker on the island of Bornholm. The bakery specializes in handmade cupcakes produced with local and sustainable ingredients.
To improve accessibility and customer convenience, the business wanted a digital solution where customers could browse the available cupcake options, customize their order, and place orders online.
This project demonstrates how such a system could work as an initial step toward a digital ordering platform.
System Workflow#
The application supports a simple ordering process for both customers and administrators.
Customer functionality
Customers can:
- browse available cupcake bases and toppings
- create custom cupcake combinations
- place orders for pickup
- create an account or order as a guest
Administrator functionality
Administrators can:
- view users and orders
- manage order status and payments
- remove invalid or unpaid orders
This workflow demonstrates how a small food business could manage online orders in a structured way.
Architecture#
The application is implemented using a lightweight Java web stack.
The system uses Javalin for HTTP routing and server handling together with Thymeleaf for server-side rendering of HTML pages.
Controllers handle incoming HTTP requests, call the service layer for business logic, and render views using Thymeleaf templates.
The application consists of the following main layers:
- Controllers – handle routing and HTTP requests
- Service Layer – implements business logic such as order handling
- Mapper / DAO Layer – manages database access
- Database – PostgreSQL relational data model
This layered structure helps separate presentation logic from business logic and persistence.
Deployment#
A deployed version of the application is available online.
Live Demo
https://cupcake.corral.dk
Source Code#
The full implementation is available on GitHub.
Contributors#
Toby Hartzberg
Jesper Andersen
Morten Jensen
Daniel Hangaard