An open API service indexing awesome lists of open source software.

https://github.com/mop157/api-gateway


https://github.com/mop157/api-gateway

api-gateway api-rest authentication authorization security

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# API Gateway Project

## Опис проекту

Цей проект представляє собою стандартний API Gateway з мікросервісом для авторизації та демонстраційним мікросервісом на Python. Проект складається з трьох основних компонентів:

1. **API Gateway**: Центральний компонент, який керує взаємодією між клієнтами та мікросервісами.
2. **auth-microservice**: Мікросервіс аутентифікації, написаний на TypeScript.
3. **puthon_api**: Демонстраційний REST API додаток, написаний на Python, який служить прикладом використання API Gateway.

## Поточний стан проекту

- API Gateway та мікросервіс авторизації (auth-microservice) вже завершені та функціональні. Однак, вони постійно вдосконалюються, і в найближчому майбутньому очікуються зміни для підвищення зручності їх використання.
- Мікросервіс на Python (puthon_api) на даний момент знаходиться в розробці і служить як приклад інтеграції з API Gateway.

## Структура проекту

### API Gateway
- Основний компонент для маршрутизації запитів
- Керує аутентифікацією та авторизацією
- Забезпечує взаємодію між клієнтами та мікросервісами

### auth-microservice (TypeScript)
- `app.ts`: Головна точка входу додатку
- `config/`: Конфігураційні файли
- `controllers/`: Контролери для обробки HTTP запитів
- `middlewares/`: Middleware функції
- `models/`: TypeScript класи, що представляють сутності бази даних
- `routes/`: Конфігурація маршрутів
- `services/`: Сервісні класи для бізнес-логіки
- `utils/`: Утиліти для загальних завдань

### puthon_api (Python) - У розробці
- `app.py`: Головна точка входу Python додатку
- `config/`: Конфігураційні файли
- `controllers/`: Контролери для обробки HTTP запитів
- `router/`: Конфігурація маршрутизації
- `tools/`: Утилітарні скрипти
- `utils/`: Утиліти для загальних завдань

## Встановлення та запуск

### Попередні вимоги
- Node.js та npm
- Python 3.x
- MongoDB

### API Gateway
1. Перейдіть до директорії `gateway`
2. Встановіть залежності: `npm install`
3. Запустіть gateway: `ts-node index.ts`

### auth-microservice
1. Перейдіть до директорії `auth-microservice`
2. Встановіть залежності: `npm install`
3. Запустіть сервіс: `ts-node app.ts`

### puthon_api (У розробці)
1. Перейдіть до директорії `puthon_api`
2. Встановіть залежності: `pip install -r requirements.txt`
3. Запустіть API: `python3 app.py`

## Конфігурація

- Налаштування MongoDB знаходяться в файлі `gateway/mongo/database.ts`
- Інші конфігураційні файли можна знайти в директоріях `config/` кожного компонента

## Майбутні вдосконалення

Проект активно розвивається. Найближчим часом планується:
- Покращення зручності використання API Gateway
- Розширення функціональності auth-microservice
- Завершення розробки та інтеграція puthon_api