KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
Affinity-backend
★ 13
Open GitHub ↗
No description available.
Download README (.md)
Explore Similar Repositories
JSON_Encoder
:
A library specifically made for arduino devices to encode JSON strings to URL strings and vice versa.
ansible-collection-homelab
:
A collection of Ansible automation roles for my homelab.
Slip39
:
Shamir's Secret-Sharing for Mnemonic Codes in C#
sf2-rmidi-specification
:
SF2 RMIDI Format Specification
vlm-toolbox
:
Vision-Language Models Toolbox: Your all-in-one solution for multimodal research and experimentation
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
Affinity-backend
?
Download (.md)
 Welcome to the **Affinity** backend repository! This project is powered by the blazing-fast [Axum](https://github.com/tokio-rs/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. ## PerOxO Module – Microservices & Actor Concurrency Engine PerOxO is a core backend engine within the Affinity system designed for high-throughput real-time features like messaging and presence. Key Highlights: - **Actor Model Concurrency:** Built using Rust’s asynchronous capabilities to ensure isolated, concurrent actor execution per user session. - **Microservice Architecture:** Operates as an independent service, enabling decoupled scaling and service separation. - **gRPC Communication:** Interfaces with other Affinity services using performant, schema-defined gRPC calls. - **WebSocket Integration:** Handles persistent user connections, routes messages, and manages session lifecycles. This module lives as a subproject under ./per_oxo/ and can be built, tested, and deployed independently. ## Tech Stack - **Language**: Rust - **Framework**: Axum - **Database**: PostgreSQL,ScyllaDB - **Containerization**: Docker - **CI/CD**: GitHub Actions, Jenkins, - **Orchestration**: Kubernetes with Helm ## 📋 Setup ### Prerequisites Make sure you have the following installed: - [Rust](https://www.rust-lang.org/tools/install) - [PostgreSQL](https://www.postgresql.org/) - [Docker](https://www.docker.com/) (optional, if running in a container) ### Installation 1. **Clone the repository:** ```bash git clone https://github.com/Sidharth-Singh10/Affinity-backend cd Affinity-backend ``` 2. **Build and run the backend:** ```bash 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: ```bash 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:** ```bash helm install <app-name> ./helm_charts ``` ## 🌱 Contributing We welcome contributions! Please check out our [CONTRIBUTING.md](https://github.com/Sidharth-Singh10/Affinity-backend/blob/main/CONTRIBUTING.md) to get started. Contributions are expected to follow good practices, maintain code quality, and align with the project’s objectives. ## 🏗️ Affinity Project Overview 1. **PerOxO Architecture**:  2. **Affinity Architecture** (deprecated)  3. **BackendDevOps**  3. **Frontend Repository**: The frontend code for this project is available at: [Affinity-Frontend](https://github.com/rishyym0927/Affinity_frontend) 4. **Discord Bot Repository** The code of discord bot used in our server is available at: [Discord-bot](https://github.com/Sidharth-Singh10/affinity-bot) ## ❤️ Our Valuable Contributors <div align="center"> <img src="https://github.com/user-attachments/assets/c7f169de-e8e9-418e-a08e-c69b34c23a41" alt="Affinity Architecture" width="200"/> </div> [](https://github.com/Sidharth-Singh10/Affinity-backend/graphs/contributors) <img src="https://user-images.githubusercontent.com/74038190/212284100-561aa473-3905-4a80-b561-0d28506553ee.gif" width="900"> ## 📄 License This project is licensed under the MIT License - see the [LICENSE](https://github.com/Sidharth-Singh10/Affinity-backend/blob/main/LICENSE) file for details. This version includes all necessary build, run, and deployment instructions formatted as code blocks for ease of use.