From b8d34edd956ee8db24a10475e2ba98c0e62e111c Mon Sep 17 00:00:00 2001 From: Adam Veldhousen Date: Sun, 16 Apr 2023 13:06:10 -0500 Subject: [PATCH] docs and architecture planning --- LICENSE | 3 + README.md | 60 +++ doc/Barretthousen_mvp.drawio | 637 +++++++++++++++++++++++++++++++ doc/Barretthousen_mvp.drawio.svg | 4 + 4 files changed, 704 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 doc/Barretthousen_mvp.drawio create mode 100644 doc/Barretthousen_mvp.drawio.svg diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4898a2c --- /dev/null +++ b/LICENSE @@ -0,0 +1,3 @@ +All contents of this repo are not permitted for reuse. + +Copyright VDHSN 2023 diff --git a/README.md b/README.md new file mode 100644 index 0000000..247f723 --- /dev/null +++ b/README.md @@ -0,0 +1,60 @@ +# [Barretthousen](https://barretthousen.com) + +Search and get alerts for items across the most popular auction sites. + +### Links + +- [Keybase Team Chat](keybase://team/barretthousen) +- [Source](https://git.vdhsn.com/Barretthousen/barretthousen) +- [Auction terms glossary](https://auctionsneapolitan.com/Auction-Terms-Glossary.html) +- [User's Site](https://barretthousen.com) +- [Admin Panel](https://admin.barretthousen.com) + + +### Goals + +1. Ability to search upcoming and live auctions across major auction sites +2. Get an email digest of upcoming auctions for the week + + +Future goals + +1. Get email alerts when these auctions are about to go live +2. Specify search criteria for email alerts + + +## Technology + +For Users +- [Prod](https://barretthousen.com) +- [Staging](https://beta.barretthousen.com) + +For Admins + +- [Prod](https://beta.barretthousen.com) +- [Staging](https://admin.beta.barretthousen.com) +- [Architecture Diagram (use diagrams.net)](./doc/Barretthousen_mvp.drawio) + +![Arcchitecure Diagram MVP](./doc/Barretthousen_mvp.drawio.svg) + +### Services + +- Web-client +Frontend site that users access to browse upcoming auctions and subscribe for updates to their searches + +- Catalog +API for searching upcoming auctions. + +- Ringman +Manages email subscriptions and sending emails to users about upcoming auctions. + +- Runner +Scrapes sites for upcoming auctions. +Transforms the data into a suitable shape and stores it for use by the frontend. + +- Auctioneer +Enables site administrators to kicks off scrape and email jobs in Runner and Ringman, and view status on current/past jobs. + +- BHDB +Monolithic postgres datbabase tying it all together + diff --git a/doc/Barretthousen_mvp.drawio b/doc/Barretthousen_mvp.drawio new file mode 100644 index 0000000..b3897b4 --- /dev/null +++ b/doc/Barretthousen_mvp.drawio @@ -0,0 +1,637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/Barretthousen_mvp.drawio.svg b/doc/Barretthousen_mvp.drawio.svg new file mode 100644 index 0000000..dd8cacd --- /dev/null +++ b/doc/Barretthousen_mvp.drawio.svg @@ -0,0 +1,4 @@ + + + +
Web Client
Web Client
Users
Users
Catalog
Catalog
Ringman
Ringman
BHDB
BHDB
Runner
Runner
Runner
Runner
Runner
Runner
Runner
Runner
Catalog
Catalog
GetUpcoming(searchCriteria)
GetUpcoming(searchCriteria)
CreateUpcoming(Sale)
CreateUpcoming(Sale)
Ringman
Ringman
Subscribe(email)
Subscribe(email)
VerifySubscription(email,token)
VerifySubscription(email,tok...
Unsubscribe(email)
Unsubscribe(email)
SendEmails()
SendEmails()
GetJobs(searchCriteria)
GetJobs(searchCriteria)
Runner
Runner
FindNewUpcoming(criteria)
FindNewUpcoming(criteria)
GetJobs(searchCriteria)
GetJobs(searchCriteria)
Auction
Auction
PK
PK
ID
ID
Title
Title
Description
Description
StartTS
StartTS
EndTS
EndTS
SourceSiteName
SourceSiteName
SourceURL
SourceURL
Photo1
Photo1
Photo2
Photo2
User
User
PK
PK
ID
ID
UQ
UQ
EmailAddress
EmailAddress
EmailVerifiedTS
EmailVerifiedTS
CreatedTS
CreatedTS
ScrapeJob
ScrapeJob
PK
PK
ID
ID
StartedTS
StartedTS
CompletedTS
CompletedTS
AuctionsFound
AuctionsFound
TargetSiteName
TargetSiteName
Errors
Errors
EmailSubscription
EmailSubscription
PK
PK
ID
ID
UQ
UQ
UserID
UserID
SearchCriteria
SearchCriteria
LastSentTS
LastSentTS
Auctioneer
Auctioneer
Auctioneer
Auctioneer
TriggerSendEmails
TriggerSendEmails
TriggerFindNewUpcoming
TriggerFindNewUpcoming
GetCommandHistory
GetCommandHistory
CommandHistory
CommandHistory
PK
PK
ID
ID
Name
Name
Initiator
Initiator
ExecutedTS
ExecutedTS
Target
Target
Params
Params
Errors
Errors
Admin
Admin
SendEmailJob
SendEmailJob
PK
PK
ID
ID
StartedTS
StartedTS
CompletedTS
CompletedTS
EmailsSent
EmailsSent
Errors
Errors
@
alpha
beta
@...
admin
alpha-admin
beta-admin
admin...
Web Client
Web Client
SearchPage
SearchPage
SubscriptionsPage
SubscriptionsPage
Text is not SVG - cannot display
\ No newline at end of file