api-gateway
is a Rust-based API gateway service that integrates with various microservices and databases. It leverages frameworks such as axum
, sqlx
, tokio
, and async-graphql
to provide a robust and scalable API solution.
- Rust (edition 2021)
- Docker
- Docker Compose
The project uses the following dependencies:
axum
sqlx
tokio
shared
tonic
prost
thiserror
chrono
dotenvy
async-graphql
async-graphql-axum
- Ensure Docker and Docker Compose are installed.
- Navigate to the project directory.
- Run the following command to build and start the services:
docker-compose up --build
- Ensure Rust is installed.
- Navigate to the project directory.
- Build the project using Cargo:
cargo build
- Run the project:
cargo run
The following environment variables are used in the project:
DATABASE_URL
: URL for the PostgreSQL database.TODO_MANAGEMENT_SERVICE_URL
: URL for the Todo Management Service.
The project uses GitHub Actions for continuous integration. The workflow is defined in .github/workflows/CI.yml
and includes:
- Lint & Formatting Checks using
cargo clippy
andcargo fmt
.
This project is licensed under the MIT License.