Entity Relationship Diagram (ERD)
This is technically a Database Diagram (not ERD)
Download PDF Version Download raw file LibreOffice Draw is requried for modification
Database Design Rules
Use snakecase (not camelCase, skwere-case, PascalCase, SCREAMINGSNAKE_CASE, nocase, ...) for namings.
Use plural form of words for table names (e.g. Table which contains data for many individual 'person', is called 'people' table)
ERD Test Scenario
- An authorized human (user) can be admin, coordinator, provider, and buyer
- Admin CRUDs categories
- Admin CRUDS products
- Provider provides products (Price and amount is required), they can add negative amounts to their existing amount
- Admin adds users to groups
- All users are in buyers group by default
- Providers can decrease existing amount of provided product
- Buyer can add provided products to cart factor if SUM(amount) > 0
- Buyer rates and comments provided product if they have baught the provided product before
- Admin CRUDs keywords
- Admin CRUDS blog posts
- Admin assigns keywords to blog posts
- Admin can choose featured keywords for blog home page
- Admin can choose features existing products for homepage
- Admin CRUDs Slider for first page (Image Url, Title, Description, Call to action)
- ... TODO: Add all user stories here
Junhao's Recommendations:
- Warehouse management
- Customer Service tickets for after sale