Skip to content

bwjson/KolesaAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kolesa API

Проект Kolesa API — это backend-сервис для платформы по размещению и поиску объявлений о продаже автомобилей. Использует архитектуру микросервисов и разработан на языке Go с использованием фреймворка Gin.

✨ Основные технологии

  • Go — основной язык разработки
  • Gin — высокопроизводительный HTTP-фреймворк
  • PostgreSQL — основная реляционная база данных
  • Redis — кеширование и хранение сессий
  • Backblaze B2 (S3 совместимый) — хранилище для изображений и медиафайлов
  • Docker — контейнеризация
  • gRPC / REST — взаимодействие между микросервисами
  • Go Test / Testify — модульные и интеграционные тесты

🚧 Архитектура

Проект состоит из нескольких микросервисов:

  • auth-service — регистрация, логин, авторизация, JWT
  • user-service — управление профилями пользователей
  • car-service — объявления об автомобилях, фильтрация, поиск
  • media-service — загрузка изображений и медиа на Backblaze
  • gateway — точка входа, Gin + Reverse Proxy (API Gateway)

Каждый сервис взаимодействует с другими через gRPC или REST в зависимости от сценария. Redis используется как shared-кеш и брокер для rate-limiting и хранения токенов.

🔧 Запуск

git clone https://github.com/yourusername/kolesa-api.git
cd kolesa-api
docker-compose up --build

Конфигурации находятся в configs/ и поддерживают переменные окружения через .env.

✅ Тестирование

go test ./...

Для e2e тестов планируется использовать Postman + Newman или k6.

⚡ Возможности

  • Регистрация и авторизация
  • Создание, редактирование и поиск объявлений
  • Загрузка изображений авто на Backblaze
  • Кеширование частых запросов через Redis
  • REST и gRPC API

📄 TODO

  • Реализация full-text поиска по объявлениям
  • Подключение Prometheus + Grafana для мониторинга
  • OAuth2 авторизация через Google
  • Добавить rate limiting
  • CI/CD пайплайн (GitHub Actions / GitLab CI)

📁 Структура проекта (упрощённо)

kolesa-api/
├── auth-service/
├── email-service/
├── gateway/
├── proto/
├── configs/
├── docker-compose.yml
└── README.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors