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
- Host: GitHub
- URL: https://github.com/mop157/api-gateway
- Owner: Mop157
- Created: 2024-11-09T21:23:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-19T00:22:44.000Z (over 1 year ago)
- Last Synced: 2025-07-12T18:00:09.615Z (11 months ago)
- Topics: api-gateway, api-rest, authentication, authorization, security
- Language: TypeScript
- Homepage:
- Size: 6.47 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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