Peer-Group-Assignment-Ecommerce-Database-Design

πŸ“¦Peer Group Assignment: E-commerce Database Design

🎯 Objective

This challenge will help you master the art of database designπŸ§ πŸ’Ύ Your group will design an Entity-Relationship Diagram (ERD) and collaboratively build an e-commerce database from scratch.

πŸ› οΈ Instructions

1️⃣ Create an ERD ✍️

Clearly define all entities (tables) and their attributes. Understand and document the relationships between tables. Identify primary keys, foreign keys, and other constraints. Use tools like Lucidchart, draw.io, dbdiagram.io, or MySQL Workbench πŸ› οΈ

2️⃣ Plan the Data Flow πŸ”„

Map out how data flows between entities. As a team, discuss how the database will be structured and implemented. Think like architects! πŸ—οΈ

3️⃣ Group Collaboration 🀝

Work together on analysis, design, and implementation. Everyone should understand every part of the project. Share ideas, ask questions, and keep the teamwork strong! πŸ’¬

4️⃣ Submission πŸš€

Create a public GitHub repository πŸ“‚ Upload your final ERD and ecommerce.sql file. Ensure everything is accessible to the reviewer πŸ”

πŸ§‘β€πŸ€β€πŸ§‘ Group Collaboration Tips

Stay connected and meet regularly πŸ‘₯ Use GitHub for version control, documentation, and teamwork πŸ“˜ Track your progress, share updates, and troubleshoot together πŸ”§ Make sure everyone is in the loop 🧭

πŸ—ƒοΈ Tables to Be Created

You’ll be building the following tables for your e-commerce platform πŸ›οΈ:

πŸ–ΌοΈ product_image – Stores product image URLs or file references 🎨 color – Manages available color options πŸ—‚οΈ product_category – Classifies products into categories (e.g., clothing, electronics) πŸ“¦ product – Stores general product details (name, brand, base price) 🧾 product_item – Represents purchasable items with specific variations 🏷️ brand – Stores brand-related data πŸ”„ product_variation – Links a product to its variations (e.g., size, color) πŸ“ size_category – Groups sizes into categories (e.g., clothing sizes, shoe sizes) πŸ“ size_option – Lists specific sizes (e.g., S, M, L, 42) 🧡 product_attribute – Stores custom attributes (e.g., material, weight) πŸ“š attribute_category – Groups attributes into categories (e.g., physical, technical) πŸ§ͺ attribute_type – Defines types of attributes (e.g., text, number, boolean) .