Projects

MARS BEER

University coursework that outgrew the brief: a shop with a cart, an admin panel, and three registries that meet in one report.

  • Light and dark themes, guarded routes and two access roles
  • Three registries served by a single table component
  • The report joins orders, customers and beers in JavaScript

A look inside.

  • Split login screen, choosing between Administrator and Customer
    The door asks who is arriving, and the answer changes the whole site: a customer lands in the shop, an administrator in the panel. The brief asked for a login; two roles are what made everything else necessary.
  • Shop with the beers as cards and the order summary beside them
    The customer side. The cart stays pinned next to the shelf, with the total adding up live: in a shop, the number that matters is what you have already spent, and it should not be one click away.
  • Beer registry, with search and the edit and delete actions
    One of the three registries. Beers, customers and orders are different screens served by the same table component, which takes its columns and actions as parameters. It was a chance to write the same screen three times, and I did not.
  • Order report joining customer, beer, quantity and total
    The report is where the three registries meet: each row joins an order, the customer who placed it and the beer that went out. With no database, the join happens in JavaScript, and it is what turns three loose lists into one piece of information.

Want to know how this part was built?