api
                                
                                 api copied to clipboard
                                
                                    api copied to clipboard
                            
                            
                            
                        Ти Броиш API
   
Ти Броиш REST API
Ти Броиш е платформа за паралелно преброяване и проследяване на парламентарните избори в България.
Това е REST API приложението, което приема и обработва данните от мобилните приложения.
Първоначална инсталация
Пуснете Docker, включете Docker Compose 2.0 и изпълнете следните команди:
# Clone the project
git clone [email protected]: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 документация на:
- http://localhost:4000/docs - Swagger документация и playground
- http://localhost:4000/docs-json - OpenAPI JSON Спецификация
Разработване
# watch mode
npm run start:dev
Тестове
# unit tests
npm run test
# e2e tests
npm run test:e2e
# test coverage
npm run test:cov
Контакти
Лиценз
Кодът на Ти Броиш е лицензиран под MIT лиценз.