Heorot is a microservice used to sell event tickets.
Heorot supports the creation of events, global products, and local products
that are associated with a global product or event. Products that are finite
(e.g event tickets) have a finite amount of time before it is automatically
removed from a customers basket, so it is no longer possible to complete a
checkout.
Heorot supports creating coupons for products that allow customers to make use
of promotions/discounts.
Management of Heorot is performed using a website that allows an administrator
to:
- Create new global products, events or local products
- Edit products.
- Inspect sales data.
Heorot interacts with the Stripe API to process transactions. It integrates
closely as it has to manage the creation of products, shipping objects and price
objects within a Stripe store.
Interaction with Heorot happens through a REST API and is used to power
Scyldings.com
I worked closely with the front end developers of Scyldings.com to integrate
Breca into Scyldings.com
Heorot persists using an Object Persistence library called
BKNR Datastore
In retrospect using an Object Persistence library was a mistake and I should
have created mappings to PostgreSQL. Heorot creates a lot of internal objects
that are persistent, this takes up an excessive amount of disk space meaning
snapshots have to be regularly pruned.