Skip to content

Implementation Fast Search use Meilisearch using CQRS Pattern, CDC pattern, Queue Pattern, Dead Letter Queue and Scheduler Sync Cross DB.

Notifications You must be signed in to change notification settings

restuwahyu13/go-fast-search

Repository files navigation

Fast Search Implementation with Golang + Meilisearch and FullStack Monorepo

This project is a simple backend API implementation using Golang to support fast search on large datasets utilising Meilisearch. In the development of this API, several design patterns are applied, including the CQRS Pattern, CDC Pattern, Background Worker Pattern, and scheduled data synchronisation between Meilisearch and Postgres. It is hoped that this tutorial can provide benefits and solutions for those of you who are facing challenges in managing large amounts of data. The concepts presented are highly suitable for applications such as online stores, travel applications, retail, and similar systems.

What You Can Learn from This Repository?

  • CQRS Pattern
  • Background worker processing
  • Background scheduler processing
  • CDC Pattern
  • Concurrency pattern: Worker Pool & Pipeline
  • Fullstack Monorepo setup
  • Message broker authorization + Dead letter queue
  • Live reload for Golang development
  • Docker monorepo setup
  • Melilisearch setup
  • Backoff locking with Redis
  • Clean architecture setup for complex projects

Instructions for Running the Application

  • Docker

    • Building Docker

        make upb; make up
    • Stopping Docker

        make down
  • Application

    • Installing Dependencies

        make dev | make worker | make cron
    • Running the Application

        make dev | make worker | make cron
    • Building the Application

        make build
  • Database

    • Running Migration

        cd apps/be/database; make mig-up
    • Running Seeder

        cd apps/be/database; make seed-up

System Design Architecture

Diagram

Application Screnshoot

Screenshot1 Screenshot2

About

Implementation Fast Search use Meilisearch using CQRS Pattern, CDC pattern, Queue Pattern, Dead Letter Queue and Scheduler Sync Cross DB.

Topics

Resources

Stars

Watchers

Forks