Перейти до вмісту

Studsearch backend

ПолеЗначення
ПродуктStudsearch.org
ТипBackend / API
Статус🟢 prod
Власник@Vladbandurin

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 EBstudsearch-prod-env.eba-bkjvm3pf.eu-central-1.elasticbeanstalk.com
Кастомний URLTODO: (за /studsearch/prod/deploy_url)
ДеплойCodePipeline studsearch-prod-backend (GitHub → CodeStarSourceConnection → EB). Артефакти у S3 studsearch-prod-pipeline-artifacts-* / elasticbeanstalk-eu-central-1-*.
  • Залежить від: Postgresshared instance studsearch-prod з окремою схемою (SSM /studsearch/prod/db/schema) · Abitly API (cross-product, SSM abitly_url)
  • Від нього залежать: Studsearch Web · Abitly Web (через NEXT_PUBLIC_STUDSEARCH_API_URL) · TODO: Studsearch Telegram bot

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.

Terminal window
npm run start:dev
npm run build && npm run start:prod
npm run lint
npm run test
npm run test:e2e

CodePipeline studsearch-prod-backend → EB. Відкат — попередня EB application version (aws elasticbeanstalk update-environment --version-label <prev>).

  • EB-app logs → CloudWatch + EB console.
  • БД-проблеми → db-issues (⚠️ shared instance з Abitly).
  • 5xx → service-down
  • БД-помилки → db-issues — пам’ятайте, інстанція спільна з Abitly, тільки схема різна. Не запускати DDL на чужій схемі.
  • Регресія → deploy-rollback