Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vinod-pattar/ice_cream_shop
Ice Cream Shop
https://github.com/vinod-pattar/ice_cream_shop
bootstrap5 django django-application python
Last synced: 3 months ago
JSON representation
Ice Cream Shop
- Host: GitHub
- URL: https://github.com/vinod-pattar/ice_cream_shop
- Owner: vinod-pattar
- Created: 2024-08-22T17:40:28.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-06T16:02:49.000Z (4 months ago)
- Last Synced: 2024-09-28T16:23:16.097Z (3 months ago)
- Topics: bootstrap5, django, django-application, python
- Language: Python
- Homepage:
- Size: 521 KB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Build a e-commerce site for selling ice creams
## Customer requirements
- Products list page (Done)
- Products detail page (Done)
- Cart management (add to cart, update quantity and remove from cart)
- Buy option with payment gateway like stripe / razorpay
- Delivery address management
- Customer registration (Done)
- Customer login (Done)
- Order history and its status
- Customer can make enquiries with regards to products (Done)## Admin requirements
- Option to create/update/delete ice cream products with details (pricing , etc)
- View Customers
- View customer orders
- Update order status
- View customer cart details## User Roles
- Admin (can create/update/delete products, manage customers, orders, etc)
- Customer (can register, login, view products, add to cart, checkout, view order status, etc)## Database
- Products (Done)
- Users (Done)
- Profiles (Done)
- Adresses (Done)
- Orders (Done)
- OrderItems (Done)
- Transactions (Done)
- Carts (Done)
- Enquiry (Done)### Products
- id (primary key)
- userId (foreign key to Users table)
- slug (string, unique)
- name (string, unique)
- description (string)
- price (float)
- image_url (file)
- Brand (string)
- Category (string)### Carts
- id (primary key)
- userId (foreign key to Users table)
- productId (foreign key to Products table)
- quantity (integer)
- price (float)
- createdAt
- updatedAt### Orders
- id
- userId (foreign key to Users table)
- currency (INR)
- receipt (unique string)
- payment_status (default 'pending')
- amount_paid (float)
- amount_due (float)
- total (float)
- status (string)
- createdAt
- updatedAt### OrderItems
- id (primary key)
- userId (foreign key to Users table)
- orderId (foreign key to Orders table)
- productId (foreign key to Products table)
- price
- quantity### Transactions
- id
- orderId (foreign key to Orders table)
- amount (float)
- status (string)
- paymentMethod (string)
- paymentId (string)
- createdAt
- updatedAt### Users
- id
- status
- paymentMethod
- paymentId
- createdAt
- updatedAt### Profiles
- phone_number
- date_of_birth### Address
- userId (foreign key to Users table)
- building_no
- street_address_1
- Street_address_2
- area
- City
- PIN### Enquiry
- id
- userId (foreign key to Users table)
- productId (foreign key to Products table)
- first_name
- last_name
- phone
- message (string)
- createdAt
- updatedAt## Relationships
- One-to-many between Users and Orders (one user can have multiple orders)
- One-to-many between Users and Carts (one user can have multiple carts)
- One-to-many between Orders and OrderItems (one order can have multiple order items)
- Many-to-many between Products and Carts (one product can be in multiple carts)
- Many-to-many between Products and Orders (one product can be in multiple orders)
- One-to-one between Transactions and Orders (one transaction can be for one orders)
- One-to-many between Users and Enquiry (one user can have multiple enquiries)
- Many-to-many between Products and Enquiry (one product can have multiple enquiries)
- One-to-One between Users and Profile (One user can have one profile)
- One-to-many between Users and Addresses (One User can have multiple address)