Studsearch backend
Метадані
Section titled “Метадані”| Поле | Значення |
|---|---|
| Продукт | Studsearch.org |
| Тип | Backend / API |
| Статус | 🟢 prod |
| Власник | @Vladbandurin |
Призначення
Section titled “Призначення”Backend Studsearch.org — пошук ЗВО з контентом від студентів-інсайдерів. Має cross-product зв’язок з Abitly: фронт Abitly читає його API, він читає Abitly API (SSM abitly_url).
Репозиторій та рантайм
Section titled “Репозиторій та рантайм”| Репо | abitly-org/studsearch-backend-v2 (main) |
| Стек | NestJS · TypeORM · reflect-metadata · rxjs |
| БД-драйвер у коді | mysql2 у package.json — ✅ dead dependency (grep по репо показав посилання лише в package.json). Можна прибрати при наступному релізі. Prod конфіг — Postgres. |
| Хостинг | AWS Elastic Beanstalk · application studsearch-backend · environment studsearch-prod-env (EC2 t3.micro) |
| Публічний URL EB | studsearch-prod-env.eba-bkjvm3pf.eu-central-1.elasticbeanstalk.com |
| Кастомний URL | TODO: (за /studsearch/prod/deploy_url) |
| Деплой | CodePipeline studsearch-prod-backend (GitHub → CodeStarSourceConnection → EB). Артефакти у S3 studsearch-prod-pipeline-artifacts-* / elasticbeanstalk-eu-central-1-*. |
Залежності
Section titled “Залежності”- Залежить від: Postgres — shared instance
studsearch-prodз окремою схемою (SSM/studsearch/prod/db/schema) · Abitly API (cross-product, SSMabitly_url) - Від нього залежать: Studsearch Web · Abitly Web (через
NEXT_PUBLIC_STUDSEARCH_API_URL) ·TODO:Studsearch Telegram bot
Env-змінні
Section titled “Env-змінні”SSM /studsearch/prod/ (kebab-case nomenclature, інша від abitly):
| Категорія | Ключі |
|---|---|
| БД | /studsearch/prod/db/host, /db/port, /db/name, /db/schema, /db/username, /db/password, /db/ssl, /db/synchronize, /db/master_password |
| Cache | /cache/duration |
| URLs | /abitly_url, /deploy_url, /local_url, /front_urls |
| Session | /session/ttl |
| Telegram | /telegram/bot_token, /telegram/bot_username |
Повний індекс → environments.
Ключові команди
Section titled “Ключові команди”npm run start:devnpm run build && npm run start:prodnpm run lintnpm run testnpm run test:e2eДеплой та відкат
Section titled “Деплой та відкат”CodePipeline studsearch-prod-backend → EB. Відкат — попередня EB application version (aws elasticbeanstalk update-environment --version-label <prev>).
Логи та моніторинг
Section titled “Логи та моніторинг”- EB-app logs → CloudWatch + EB console.
- БД-проблеми → db-issues (⚠️ shared instance з Abitly).
Типові проблеми
Section titled “Типові проблеми”- 5xx → service-down
- БД-помилки → db-issues — пам’ятайте, інстанція спільна з Abitly, тільки схема різна. Не запускати DDL на чужій схемі.
- Регресія → deploy-rollback