~/projects/affinity
Published on

Affinity

419 words3 min read–––
Views
Authors

Welcome to Affinity! This project is powered by the blazing-fast Axum framework, built using Rust to handle API requests and efficiently communicate with a PostgreSQL database. Our backend is optimized for high performance and scalability, designed to meet the demands of modern applications.

Supports deployment with Kubernetes and Helm for orchestration and rolling updates, achieving 99.9% uptime in a scalable architecture supporting concurrent user interactions and real-time analytics for personalized matching.

The platform leverages an AI-powered chatbot for matchmaking and features various interactive games, such as coding challenges, to match users based on their skill sets. Once matched, users can engage in meaningful conversations, fostering deep intellectual connections.

πŸ› οΈ Tech Stack

  • πŸ¦€ Language: Rust
  • βš™οΈ Framework: Axum
  • πŸ’Ύ Database: PostgreSQL
  • 🐳 Containerization: Docker
  • πŸš€ CI/CD: GitHub Actions, Jenkins, Docker Compose

πŸ“‹ Setup

Prerequisites

Make sure you have the following installed:

Installation

  1. Clone the repository:

    git clone https://github.com/Sidharth-Singh10/Affinity-backend
    cd Affinity-backend
    
  2. Build and run the backend:

    cargo build
    cargo run
    

Running in Docker 🐳

To run the project in Docker, ensure that the environment variables for database connection are properly set. Follow these steps:

  1. Using Docker Compose:

    Update the docker-compose.yml file with the correct environment variables, and then:

    docker-compose up
    

Running on Kubernetes with Helm β›΅

Deploy the project on a Kubernetes cluster using Helm:

  1. Configure values.yaml:

    Make sure your values.yaml file is properly set up with the required database configuration.

  2. Install the application with Helm:

    helm install <app-name> ./helm_charts
    

Preview

Landing
Login
Register
Dashboard

πŸ—οΈ Affinity Project Overview

  1. Architecture (deprecated)

    Architecture

  2. Frontend Repository:
    The frontend code for this project is available at:
    Affinity-Frontend

  3. Chat Bot Repository The code of Chat bot used in our server is available at:
    Chat-bot

  4. Discord Bot Repository The code of discord bot used in our server is available at:
    Discord-bot

🌱 Contributing

We welcome contributions! Please check out our CONTRIBUTING.md to get started. Contributions are expected to follow good practices, maintain code quality, and align with the project’s objectives.

❀️ Our Valuable Contributors

Affinity Architecture

Contributors

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

This version includes all necessary build, run, and deployment instructions formatted as code blocks for ease of use.