Skip to content

ti-broish/api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ти Броиш лого

Ти Броиш REST API

Ти Броиш е платформа за паралелно преброяване и проследяване на парламентарните избори в България.

Това е REST API приложението, което приема и обработва данните от мобилните приложения.

Първоначална инсталация

Пуснете Docker, включете Docker Compose 2.0 и изпълнете следните команди:

# Clone the project
git clone git@github.com:ti-broish/api.git
cd ti-broish-api
# Copy the environment configuration template
cp .env.schema .env
# Пуснете всички нужни контейнери - API, Postgres база данни и Redis cache
docker compose up
# Create the schema and seed the data
docker compose exec ti-broish-api npm run migration:run
docker compose exec ti-broish-api npm run seed:run

Конфигурация

.env.schema файлът съдържа стойности по подразбиране и всички възможни настройки на средата, които приложението приема. Коригирайте всичко, което е нужно да промените в .env.

Свалете Service account JSON файл от Firebase и го запазете като firebase.json в проекта.

Генериране на Firebase JWT Token

Ако искате лесно да генерирате JWT токен за автентикация с Firebase, създайте потребител във Firebase Console и попълнете в .env:

  • FIREBASE_API_KEY
  • FIREBASE_UID

След това можете лесно да генерирате ключ със следната команда:

npm run firebase:token

Работа с ReCAPTCHA

Регистрирайте приложението си за ReCAPTCHA като следвате стъпките описани тук.

При локално стартирано приложение трябва да закоментирате следния ред skipIf: process.env.NODE_ENV !== 'production', в app.ts.

Стартиране

npm run start

API Документация

Ти Броиш REST API- използва Swagger OpenAPI стандарта. След като стартирате приложението можете да намерите API документация на:

Разработване

# watch mode
npm run start:dev

Тестове

# unit tests
npm run test

# e2e tests
npm run test:e2e

# test coverage
npm run test:cov

Контакти

Лиценз

Кодът на Ти Броиш е лицензиран под MIT лиценз.