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:
axumsqlxtokiosharedtonicprostthiserrorchronodotenvyasync-graphqlasync-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 clippyandcargo fmt.
This project is licensed under the MIT License.