Back-End application developed by utilizing the following:
- Python
- Django Framework
- PostgreSql
A website dedicated to promoting and selling family-brand products. Bilaf serves as a bridge between consumers and families; rather than utilizing other platforms to reach them, Bilaf provides a more convenient approach to reaching them.
- Browsing the brands.
- Browsing the brand's products.
- Searching for a product or brand.
- Filtering the brands based on a specific cuisine.
- Browsing the brands.
- Browsing the brand's products.
- Searching for a product or brand.
- Filtering the brands based on a specific cuisine.
- Editing the cart before making a purchase.
- Making a purchase.
- Viewing the order status.
- Rate the order.
- Viewing past orders.
- Editing their products.
- Orders will be approved based on the given Delivery\Pickup availability.
- Reply to client's review
- Performance dashboard for the brand.
- Accept\Decline the merchant.
- Decline certain orders.
- Performance dashboard for all the brands.
- Replying to the client's review.
- As a visitor, I can browse the brands.
- As a visitor, Or browse the brand's products.
- As a visitor, Or search for a product or brand.
- As a visitor, Or filter the brands based on a specific cuisine.
- As a visitor, Or register to make any purchases.
- As a Client, I can browse the brands.
- As a Client, Or browse the brand's products.
- As a Client, Or search for a product or brand.
- As a Client, Or filter the brands based on a specific cuisine.
- As a Client, Or edit the cart before making a purchase.
- As a Client, Or making a purchase.
- As a Client, Or view my order status.
- As a Client, Or rate the order.
- As a Client, Or viewing past orders.
- As an owner, I can edit my products.
- As an owner, Or provide an indication on my Delivery\Pickup availability, for order approvals.
- As an owner, Or view my brand's performance dashboard.
- As an owner, Or reply to the client's review.
- As the Admin, I can accept\decline the merchant that wants to regsiter on my platform.
- As the Admin, Or decline certain orders.
- As the Admin, Or view the performance dashboard for all the brands.
Figma's link for the wireframe
- id
- first_name
- last_name
- password
- user = OneToOneField(User)
- phone_number = CharField
- owner = ForeignKey(User)
- store_name = CharField
- category = (CHOICES)
- logo = ImageField
- about = TextField
- pick_up_enabled = BooleanField(default=True)
- delivery_enabled = BooleanField(default=True)
- twitter_link = URLField
- instagram_link = URLField
- snapchat_link = URLField
- name = CharField
- logo = ImageField
- store = ForeignKey(Store)
- store = ForeignKey(Store)
- category = ForeignKey(Categories)
- price = FloatField
- quantity = IntegerField
- is_active = BooleanField(default=True)
- name = CharField
- description = TextField
- image = ImageField
- DELIVERY_CHOICES = (CHOICES)
- PAYMENT_CHOICES = (CHOICES)
- store = ForeignKey(Store)
- customer = ForeignKey(User)
- status = (CHOICES)
- created_at = models.DateTimeField(auto_now_add=True)
- due_date = models.DateTimeField(blank=True, null=True)
- cart = ForeignKey(Cart)
- product = ForeignKey(Product)
- quantity = PositiveIntegerField
- price = PositiveIntegerField
- Omar Ali : https://github.com/Omar-Ali99
- Faisal Al-Hussain: https://github.com/faisal-alhussain
- Abdullah Al-Saab: https://github.com/amalsaab
- Mohammed Al-Khabbaz: https://github.com/97MK
Use-Case Diagram:
ER Diagram: