Skip to content
This repository was archived by the owner on Mar 10, 2023. It is now read-only.
Varisha Rashid edited this page Oct 21, 2022 · 10 revisions

WhatsApp Image 2022-10-12 at 23 11 59

BizRank targets to rate the small businesses thriving accross the internet and allow users to mark their favorite brands, share them with their friends and family. Along with that users can search brands having ongoing sale and set a reminder for the upcoming sale on brands. Filtering of brands according to the product categories they sell and sorting them based on ratings and other fields will also be supported by BizRank. This project will be completely open source for developers to make some good contributions. The details of the project are as follows:

LLD

  • Monolithic architecture is being used for easier continuous development.
  • NoSQL databases fit right in this scenario because consistency is not a big issue and majorly, we are reading data and not making complex joins, therefore NoSQL will support horizontal scalability and dynamic schema to satisfy future needs.

Database Schema

* Brand

  • Personal info
  • State (required)
  • City (required)
  • Pincode (required)
  • Brand Info
  • Logo (required)
  • Name (required, unique)
  • Description (required)
  • Website
  • Payment Options available (required)
  • Expected Delivery Time (required)
  • Product Categories (required)
  • Social Media Handles
  • Instagram (url)
  • Facebook (url)
  • Youtube (url)
  • Business Contact Number (required)
  • FAQs

* Brand Ownership

  • UserID (required)
  • BrandID (required)

* Products

  • Product ID (required)
  • Title (required)

Tech Stack

Monolithic Architecture for rapid development. A monolithic architecture helps us achieve Easier and Faster Development and we have organised our project using the following technologies:

  • Frontend - Reactjs and Material UI
  • Backend - Nodejs and Expressjs
  • Database - NoSQL database (MongoDB)

Phase 1

  • Implementing authentication using Google OAuth and JWT for users.
  • User can create a brand, personalize it and can manage it for better reach of customers.
  • User can search for the brands according to the product categories they sell.
  • User can share it with their friends and family.
  • User can mark favorite brands.
  • User can access their recently viewed brands.

Phase 2

  • Collecting customer feedback.
  • Users can rate brands.
  • Users can provide multiple suggestions according to their experience.
  • Implementing a review summary on the website by calculating average ratings and updating it every time a new review is posted.
  • Implementing HTTP Only Cookie for removing any security issues regarding authentication tokens.

Phase 3

  • Implement the sale module.
  • Implement Google calendar integration for reminders.
  • Implement AWS S3 for storing product photos uploaded by the users while rating a brand.

Future Improvements/Features:

  • Deletion of Brands (Queue based deletion).
  • Use of Algolia search.
  • Multiple users can own a brand.
  • Brand owner’s blog.