Skip to content

MarceloCoelho1/bigtech-a-case-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

BigTech: A Case Study

Welcome to BigTech: A Case Study, a comprehensive project aimed at understanding and replicating the infrastructure of major tech companies like Amazon. This project is designed to be modular, allowing for in-depth exploration of each component of a large-scale e-commerce platform.

Table of Contents

Introduction

This project aims to deepen my knowledge and learning by researching how these features are implemented in software from major companies. To achieve this, I will attempt to recreate Amazon's system, exploring the best practices and techniques used in developing successful e-commerce platforms.

Note: This project is primarily intended for educational purposes, including my own learning journey. I am not affiliated with Amazon, Google, Facebook, or any other big tech company. I am undertaking this project solely to improve my knowledge. Therefore, implementations may not mirror those of industry giants like Amazon, but I will strive to do my best. This also allows beginners to study and learn from the project. Contributions and feedback are always welcome!

Modules

Authentication

technologies: Typescript, fastify, docker, prisma, postgresql, JwtToken, bcrypt, nodemailer.

The authentication module handles user sign-up, login, and security features such as password hashing, multi-factor authentication, Role-based authentication and session management.

  • User registration
    • Verification by email
  • User login
    • Login with email and password
  • Password recovery
    • Send password recovery by email
    • Implementation of security questions
  • Role-based authentication
    • Create some roles such as user, admin, guest
    • Access control to different parts of the application based on user roles
  • Tokens and sessions
    • User session management
    • JWT
  • Security
    • Encrypted credentials

Product Management

technologies: Typescript, firebase, fastify, docker, prisma, postgresql, nodemailer.

This module focuses on handling product data and functionality independently. It includes product listing, categorization, inventory management, and search functionality without relying on user management.

  • Product Listing
    • Create new product
    • Update existing product
    • Delete product
    • View product details
  • Product Categorization
    • Create new category
    • Update existing category
    • Delete category
    • Assign products to categories
  • Inventory Management
    • Track product stock levels
    • Update stock levels
    • Notify when stock is low
  • Product Search Functionality
    • Implement search by product name
    • Implement search by category
    • Implement search by attributes (e.g., price, brand)
  • Product Reviews and Ratings
    • Add product reviews
    • Edit product reviews
    • Delete product reviews
    • Rate products
  • Product Images
    • Upload product images
    • Update product images
    • Delete product images
  • Price Management
    • Set product prices
    • Update product prices
    • Apply discounts and promotions

Order Processing

The order processing module manages the lifecycle of an order from cart to checkout, payment processing, and order confirmation.

  • Cart Management

    • Add items to cart
    • Remove items from cart
    • Update item quantities in cart
    • View cart items
    • Clear cart
  • Checkout Process

    • Initiate checkout
    • Apply discount codes
    • Collect order details
  • Payment Processing

    • Integrate with a payment gateway (e.g., Stripe)
    • Handle payment authorization
    • Capture payment
  • Messaging and Notifications

    • Send order confirmation email

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published