The Zelara API Gateway Microservice serves as the central hub for managing API requests, authentication, rate limiting, caching, and billing functionalities for the Zelara AI platform.
- API Routing: Efficiently routes incoming API requests to appropriate worker services.
- Authentication & Authorization: Secure endpoints using JWT and OAuth 2.0, with RBAC implementation.
- Rate Limiting: Controls the rate of incoming requests based on user subscription tiers.
- Caching: Utilizes Redis for in-memory caching to improve performance.
- Billing Integration: Seamless integration with Stripe for payment processing and subscription management.
- Logging & Monitoring: Comprehensive logging and monitoring using industry-standard tools.
- Error Handling: Consistent and informative error responses across all API endpoints.
For detailed architectural information, refer to the Architecture Documentation.
- Node.js v14.x or higher
- Redis v6.x or higher
- Docker (optional, for containerized deployment)
- Stripe Account for billing integration
Clone the repository:
git clone https://github.com/zelara-ai/zelara-api.git
cd zelara-api
Install dependencies:
npm install
Set up environment variables by copying .env.example
to .env
and filling in the required values.
Start the server:
npm start
Build and run the Docker container:
docker-compose up --build
Configuration options are managed via environment variables and configuration files. Refer to the Configuration Guide for detailed instructions.
API endpoints, request/response schemas, and error codes are documented using OpenAPI (Swagger). Access the interactive API docs at http://localhost:3000/api-docs
when the server is running.
For detailed API specifications, see API Documentation.
We welcome contributions from the community. Please read our Contributing Guidelines and Code of Conduct before submitting issues or pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, please contact the development team at [email protected].