Union API Center is the core infrastructure of the OVINC ecosystem. It serves as a robust OpenID Connect (OIDC) Provider, enabling Single Sign-On (SSO) across all OVINC services. Additionally, it manages a centralized notification system, handling system-wide alerts and messaging.
Whether you are building a microservice that needs authentication or a frontend app requiring real-time notifications, Union API Center provides the necessary backend support.
- 🔐 Unified Authentication: OIDC-compliant provider for seamless SSO integration.
- 📢 Notification System: Centralized management for system notices, alerts, and announcements.
- ☁️ Tencent Cloud Integration: Native support for Tencent Cloud services (SMS, OSS, etc.).
- ⚡ Asynchronous Processing: High-performance background task handling using Celery.
- 🔄 Real-time Communication: WebSocket support powered by Django Channels.
- 🌍 Internationalization: Multi-language support (i18n) ready.
- Framework: Django, Django REST Framework
- Asynchronous: ASGI (Daphne/Uvicorn), Celery
- Database: MySQL
- Cache & Broker: Redis
- Auth Protocol: OpenID Connect (via
django-oidc-provider)
APICenter/
├── apps/ # Application modules
├── bin/ # Binary scripts
├── core/ # Core configuration and settings
├── docs/ # Documentation and assets
├── entry/ # Entry points (WSGI/ASGI)
├── locale/ # Translation files
├── scripts/ # Utility scripts
├── Dockerfile # Docker build configuration
├── Makefile # Command shortcuts
└── manage.py # Django management script
- Python 3.8+
- Redis
- MySQL
-
Clone the repository
git clone https://github.com/OVINC/APICenter.git cd APICenter -
Install dependencies
pip install -r requirements.txt
-
Configuration
Copy the example environment file:
cp env.example .env
Note: Update
.envwith your database credentials, Redis URL, and other secrets. -
Database Migrations
python manage.py migrate
-
Run the Server
python manage.py runserver
Build and run the application using Docker:
# Build the image
docker build -t union-api-center .
# Run the container
docker run -d -p 8000:8000 --env-file .env union-api-centerWe provide a Makefile to simplify common development tasks:
- Linting: Check code style
make lint
- Translation: Update translation files
make messages
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.