GithubHelp home page GithubHelp logo

grabreview's Introduction

GrabReview

Technical Stack

Backend

  • Framework: Spring Boot 2.x, Spring MVC
  • Database: MySQL, MyBatis-Plus
  • Caching: Spring Data Redis, Redission
  • Messaging: RabbitMQ
  • Utilities: Hutool
  • Containerization: Docker
  • Testing: Junit, Jmeter

Frontend

  • Technologies: HTML, CSS, JavaScript
  • Framework: Vue 2
  • UI Library: Element-UI
  • HTTP Client: Axios
  • Web Server: Nginx

Key Features

  1. SMS Login:
    • Distributed Session Management: Implemented using Redis to synchronize login states across clusters.
    • Efficient User Data Storage: Switched from using String to Hash for storing user information.
  2. Shop Query Optimization:
    • Caching Mechanism: Utilizes Redis to cache frequently accessed shop data, reducing database load and improving query efficiency by 90%.
    • Generic Caching Access: Developed a static method for caching using generics and functional programming, tackling issues like cache avalanche and cache penetration.
    • Redis Key Management: Constant classes manage Redis key prefixes and TTL, ensuring business isolation in key space and minimizing conflicts.
  3. Geo-based Merchant Query:
    • Data Structures: Utilizes Redis's Geo and Hash structures for storing nearby merchant data.
    • Efficient Querying: Implements high-performance merchant queries and distance-based sorting using the Geo Search command.
  4. User Interaction Features:
    • Likes and Ranking: User likes stored using Redis List, with a ranking system based on ZSet for TopN likes.
    • Social Features: Implements user follow and mutual follow functions using Redis Set.
  5. Real-Time Feed Stream for Followers:
    • Implementation: Leveraged a push-based model to ensure timely delivery of new review messages and reduce waiting time for users, suitable for systems with a smaller user base.
  6. Coupon Flash Sale:
    • Inventory Pre-Check: Utilizes Redis and Lua scripting for stock pre-checks.
    • Asynchronous Order Creation: Implemented using RabbitMQ, solving over-selling issues and ensuring one order per user.

grabreview's People

Contributors

jansson8964 avatar

grabreview's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.