Skip to content

OVINC-CN/APICenter

Repository files navigation

Union API Center Logo

Union API Center

Centralized Authentication & Notification Service for OVINC Ecosystem

License Python Django

English | 简体中文


📖 Introduction

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.

✨ Key Features

  • 🔐 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.

🛠 Tech Stack

  • Framework: Django, Django REST Framework
  • Asynchronous: ASGI (Daphne/Uvicorn), Celery
  • Database: MySQL
  • Cache & Broker: Redis
  • Auth Protocol: OpenID Connect (via django-oidc-provider)

📂 Project Structure

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

🚀 Getting Started

Prerequisites

  • Python 3.8+
  • Redis
  • MySQL

Installation

  1. Clone the repository

    git clone https://github.com/OVINC/APICenter.git
    cd APICenter
  2. Install dependencies

    pip install -r requirements.txt
  3. Configuration

    Copy the example environment file:

    cp env.example .env

    Note: Update .env with your database credentials, Redis URL, and other secrets.

  4. Database Migrations

    python manage.py migrate
  5. Run the Server

    python manage.py runserver

🐳 Docker Support

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-center

💻 Development

We provide a Makefile to simplify common development tasks:

  • Linting: Check code style
    make lint
  • Translation: Update translation files
    make messages

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License.

About

API Center provides login and notice apis for all ovinc services

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages