File size: 1,669 Bytes
0d2ef2d
 
7ab18c5
0d2ef2d
 
 
28f7fd8
0d2ef2d
 
a866bd8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a8c4fcf
 
 
 
a866bd8
 
 
 
 
 
 
 
 
 
a8c4fcf
a866bd8
 
a8c4fcf
 
a866bd8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a8c4fcf
a866bd8
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
---
title: AIC Server
emoji: 😡
colorFrom: yellow
colorTo: purple
sdk: docker
app_port: 8080
---

# 🚀 AIC Server

A high-performance backend service built with **Rust**.  
Easily deployable with **Cargo** or **Docker**, with a built-in Swagger UI for API exploration.

---

## 📦 Build & Run

### 🔨 Option 1: Build with Cargo

```bash
cargo build --release
./target/release/aic-server
```

### 🐳 Option 2: Build with Docker

```bash
docker build -t aic-server .
docker run -p 8080:8080 \
  -e DATABASE_URL="your_database_url_here" \
  -e QDRANT_URL="http://localhost:6333" \
  aic-server
```

---

## ⚙️ Environment Variables

Before running, make sure to set:

```bash
export DATABASE_URL="postgres://user:password@localhost:5432/db_name"
export QDRANT_URL="http://localhost:6334"
```

- `DATABASE_URL` → PostgreSQL database connection string
- `QDRANT_URL` → Qdrant vector database endpoint (6333 for HTTP vs. 6334 for gRPC)

---

## 📖 API Documentation

After starting the server, you can explore the API via **Swagger UI**:

👉 [http://localhost:8080/swagger-ui](http://localhost:8080/swagger-ui)

---

## 🗂️ Project Structure

```text
AIC Server/
├── src/              # Source code
├── Cargo.toml        # Rust dependencies
├── Dockerfile        # Container build file
└── README.md         # You're here
```

---

## ✅ Features

- ⚡ Fast & memory-safe (built with Rust)
- 🐳 Dockerized for easy deployment
- 📚 Interactive Swagger UI
- 🗄️ PostgreSQL database support
- 🔍 Qdrant vector database integration

---

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!