# V2 - Attempt 2 # Roadmap - [ ] Complete this design document? - [ ] Complete defining this roadmap checklist - [ ] Website displaying an audit of store events - [ ] Start with just a list of events for a given store (use a static test store) - [ ] ... ## Nice to haves - [ ] Drop in a good logger Looking to follow the [CQRS](https://martinfowler.com/bliki/CQRS.html) pattern. The database will follow the [event sourcing](https://martinfowler.com/eaaDev/EventSourcing.html) database pattern. All events (or commands) will be stored in a respective event series, and all database reads will be from views that are projections, reductions, aggregations of those event series. ## Application/directory structure - /internal - /site: website - /webhooks: webhooks for platform events - /domains: packages for each domain - /store_events: storing and events - /platforms: ecommerce platform domains - /tiktok: interface with tiktok - ... etc - ... etc ![Application structure](./diagrams/application_structure.svg) ## Architectural and Software Diagrams ### Event Sourcing Architecture ![Event sourcing architecture](./diagrams/event_sourcing.svg) ### Event Structure ![Event](./diagrams/event.svg) ### Store Event Database Tables ![Event database tables](./diagrams/event_tables.svg) ### All Diagrams All diagrams are stored in the [diagrams](./diagrams) directory