Skip to content

tuan9999/backend_infrastructure

 
 

Repository files navigation

Backend Infrastructure Repository

This repository encompasses all the backend Rust modules for the Bustl application suite, including:

Architecture Overview

The architecture integrates various components that handle different aspects of the backend system:

  • Frontend: The user interface that interacts with the backend to submit and retrieve data.
  • Backend: The server-side logic that processes requests, manages data, and communicates with the database.
  • Scrapers: External processes that collect data from various sources and feed it into the system.
  • Data Category Tagging: A process where incoming data is classified into categories before being stored.
  • Database Client: A Rust module that provides an interface for interacting with the PostgreSQL database using Diesel ORM.
  • Diesel ORM: The Object-Relational Mapper that facilitates database transactions in a Rust-friendly manner.
  • Qdrant Client: The Rust client that communicates with the Qdrant Vector Similarity Database.
  • Qdrant Vector Similarity DB: Stores one-hot encoded vectors representing users' event categories as well as an aggregated preferences vector which is a sum of their liked and disliked activities categories.

Architecture Diagram

The system is designed to ensure efficient data processing and retrieval, leveraging vector similarity for recommendations and categorization to enhance user experience.

For a more detailed overview, please refer to the individual module READMEs linked above.

How to Run the Backend

Refer to the respective repository README for instructions on running each module, such as the HTTP server, which requires Rust, a PostgreSQL database instance, and the appropriate .env configuration.

Docker Deployment

You can build and run this application using Docker.

Prerequisites

  • Docker: Use the link to install Docker on your machine.

Steps

  1. Build a Docker image of the application:
docker build -t bustl-backend .

The command uses your SSH private key to clone private repositories or to access private resources during the Docker image build.


Important: The architecture diagram is for reference and may not be the latest version. Please refer to the linked repositories for the most up-to-date information.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.7%
  • Other 0.3%