A cloud-native distributed backend platform built with Rust and Go, designed to explore modern backend engineering, microservices, distributed systems, and cloud-native technologies.
Client / Frontend
β
βΌ
π¦ Rust API Gateway
ββββββββββββββββββββββββββββββββββββ
β Generic Reverse Proxy β
β Dynamic Routing β
β Header Forwarding β
β Request Forwarding β
ββββββββββββββββββββββββββββββββββββ
β
βΌ
πΉ Go Auth Service
β
PostgreSQL Database
- Rust
- Axum
- Tokio
- Reqwest
- Go
- Gin
- PostgreSQL
- pgx
- bcrypt
- JWT
- PostgreSQL
- Generic Reverse Proxy
- Dynamic Route Forwarding (
/auth/*) - Request Body Forwarding
- Header Forwarding
- Health Endpoint
- Shared HTTP Client
- Configuration Management
- Service-to-Service Communication
- User Registration
- User Login
- Password Hashing (bcrypt)
- JWT Authentication
- Protected
/meEndpoint - PostgreSQL Integration
- Repository Pattern
- Service Layer
- Unit Tests
- Repository Tests
sentinel/
βββ gateway/ # Rust API Gateway
β βββ src/
β β βββ handlers/
β β βββ routes.rs
β β βββ config.rs
β β βββ state.rs
β β βββ main.rs
β βββ Cargo.toml
β
βββ backend/
β βββ auth-service/
β β βββ cmd/
β β βββ internal/
β β β βββ handler/
β β β βββ repository/
β β β βββ routes/
β β β βββ service/
β β β βββ models/
β β βββ migrations/
β β
β βββ shared/
β βββ auth/
β βββ config/
β βββ database/
β βββ logger/
β
βββ README.md
Client
β
POST /auth/login
β
βΌ
Rust Gateway
β
Generic Reverse Proxy
β
POST /login
β
βΌ
Go Auth Service
β
Verify Credentials
β
Generate JWT
β
βΌ
Rust Gateway
β
βΌ
Client
Client
β
Authorization: Bearer <JWT>
β
βΌ
Rust Gateway
β
Header Forwarding
β
βΌ
Go Auth Service
β
JWT Middleware
β
Repository
β
PostgreSQL
β
βΌ
User Profile
| Method | Endpoint |
|---|---|
| GET | /health |
| ANY | /auth/* |
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Health Check |
| POST | /register |
Register User |
| POST | /login |
Login |
| GET | /me |
Current User |
- Project Structure
- Shared Configuration
- Logging
- PostgreSQL Integration
- Axum Setup
- Generic Reverse Proxy
- Dynamic Route Matching
- Header Forwarding
- Body Forwarding
- Health Endpoint
- Service-to-Service Communication
- Registration
- Login
- JWT Authentication
- Protected Routes
- Repository Pattern
- Unit Tests
- Repository Tests
- User Profiles
- Update Profile
- Search Users
- Query Parameter Forwarding
- Response Header Forwarding
- Request Logging
- CORS
- Rate Limiting
- Metrics
- Tracing
- Redis
- gRPC
- Kafka
- Docker
- Kubernetes
- Prometheus
- Grafana
- Next.js
- TypeScript
- Tailwind CSS
- Authentication
- Dashboard
Sentinel is built to gain hands-on experience with:
- Rust Backend Development
- Go Microservices
- Distributed Systems
- API Gateway Design
- Authentication & Authorization
- Cloud-Native Development
- System Design
- Docker & Kubernetes
- Event-Driven Architecture
- Observability
- Production Backend Engineering
Current Phase: Gateway & Authentication β
The project currently consists of a production-style Rust API Gateway routing requests to a Go-based Authentication Service backed by PostgreSQL. Authentication flows, protected routes, and generic reverse proxying are fully functional.
The next milestone is expanding the platform with additional microservices, beginning with a dedicated User Service.