MediatR commands, S3 image storage, brand split
A big architectural overhaul onto MediatR commands, with processed images now stored in S3 instead of on local disk.
Added 3
- Processed images uploaded to S3 by date
- Backfill command for images of existing products
- Brand stored separately from product name
Changed 3
- MediatR command/handler architecture
- Snake_case database columns
- Dapper for raw SQL in content generation