/lct-hack

Сервис для расчета рыночной стоимости жилой недвижимости города Москвы, разработанный в рамках хакатона ЛЦТ 2022

Primary LanguageShell

Сервис для расчета рыночной стоимости жилой недвижимости города Москвы

photo_2022-11-14_09-58-26

Навигация

Описание проекта

Cервис, который автоматизирует процесс расчета стоимости однотипных квартир, находящихся в собственности города, в зависимости от их индивидуальных параметров. Сервис позволит ускорить процедуру выдачи экспертных заключений о стоимости квартир и избежать сделок, при которых городское имущество продается по цене ниже рыночной

Стек технологий

  • Frontend: React Next MobX TypeScript
  • Backend: Fast API PostgreSQL
  • Parser: Fast API Selenium
  • Proxy: Nginx
  • Work: Figma Docker

Сборка проекта

Production

  1. Склонируйте данный репозиторий:
git clone https://github.com/mirea-ninja/lct-hack.git lct-hack --recursive
cd lct-hack
  1. Отредактируйте .env.example:
# Deploy
BACKEND_ALLOWED_DOMAINS=YOUR_BACKEND_ALLOWED_DOMAINS

# Debug
DEBUG=False

# Frontend
NEXT_APP_API_URL=YOUR_API_URL
NEXT_APP_PARSER_API_URL=YOUR_PARSER_API_URL

# Backend
BACKEND_TTILE='LCT Hack Backend'
BACKEND_DESCRIPTION='Backend part for LCT Hack'
BACKEND_PREFIX=/api

BACKEND_HOST=0.0.0.0
BACKEND_PORT=80
BACKEND_RELOAD=False

BACKEND_CORS_ORIGINS=["http://localhost"]

BACKEND_JWT_SECRET=Y0UR_JWT_SECRET
BACKEND_JWT_ALGORITHM=HS256
BACKEND_JWT_ACCESS_TOKEN_EXPIRE_MINUTES=20160 # 7 * 24 * 60

BACKEND_DADATA_TOKEN=Y0UR_DADATA_TOKEN

# Feature Switch
BACKEND_DISABLE_AUTH=False
BACKEND_DISABLE_FILE_SENDING=False
BACKEND_DISABLE_REGISTRATION=False

# Storage
STORAGE_REGION=Y0UR_STORAGE_REGION
STORAGE_ENDPOINT=Y0UR_STORAGE_ENDPOINT
STORAGE_ACCESS_KEY=Y0UR_STORAGE_ACCESS_KEY
STORAGE_ACCESS_KEY_ID=Y0UR_STORAGE_ACCESS_KEY_ID
STORAGE_BUCKET_NAME=Y0UR_STORAGE_BUCKET_NAME
STORAGE_FOLDER_NAME=Y0UR_STORAGE_FOLDER_NAME

# PostgreSQL
POSTGRES_SERVER=db
POSTGRES_USER=Y0UR_POSTGRES_USER
POSTGRES_PASSWORD=Y0UR_POSTGRES_USER
POSTGRES_DB=Y0UR_POSTGRES_DB
  1. Переименуйте .env.example в .env
  2. Запустите проект с помощь Docker Compose:
docker-compose up -d --build
  1. Перейдите в директорию парсера:
cd parser
  1. Отредактируйте .env.example:
# Debug
DEBUG=False

# Deploy
BACKEND_ALLOWED_DOMAINS=YOURSITE.RU

# Application
BACKEND_TTILE='LCT Hack Parser'
BACKEND_DESCRIPTION='Parser part for LCT Hack'
BACKEND_PREFIX=/api

BACKEND_HOST=0.0.0.0
BACKEND_PORT=8080
BACKEND_RELOAD=True

BACKEND_CORS_ORIGINS='["http://localhost:8080", "http://localhost:8081"]'

BACKEND_JWT_SECRET=YOUR_BACKEND_JWT_SECRET
BACKEND_JWT_ALGORITHM='HS256'

BACKEND_DADATA_TOKEN=YOUR_BACKEND_DADATA_TOKEN

BACKEND_AUTH_TOKEN=YOUR_BACKEND_AUTH_TOKEN
BACKEND_API_URL=YOUR_BACKEND_API_URL

# Selenium
SE_NODE_OVERRIDE_MAX_SESSIONS=1
SE_NODE_MAX_SESSIONS=16
  1. Переименуйте .env.example в .env
  2. Запустите проект с помощь Docker Compose:
docker-compose up -d --build

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

Endpoints

Лицезия