semyon-dev / nov-legend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

серверная часть сервиса (backend)

Основной реализованный функционал:

  • Получение, создание и поиск меток
  • Получение, создание и фильтры маршрутов
  • Регистрация, авторизация, фундамент для достижений
  • Расчет расстония от меток к местоположению
  • Перевод контента через Yandex Translate AI при создании меток
  • Фиксация посещений и начисление опыта

Особенность проекта в следующем:

  • Подбор маршрута под конкретного пользователя
  • Геймификация - получение опыта за посещение мест

Стек бэкенда

  • Go 1.16
  • JWT
  • MongoDB
  • Yandex Translate API

ЗАПУСК

развертывание сервиса производится на любой операционной системе требуется установленный язык Golang;

go run app/main.go или создать бинарник go build app/main.go

Пример .env файла

# JWT secret:
ACCESS_SECRET=secret 
MONGO_URL="mongodb://127.0.0.1:27017/?compressors=zlib&readPreference=primary&ssl=false"
PORT=8080
# для яндекс API, не обязательно:
FOLDER_ID= 
IAM_TOKEN=

Установка зависимостей проекта

Установка зависимостей проекта происходит автоматически при попытке собрать бинарник или go mod download

Миграции

Миграции мы сделать не успели

Поэтому можно ручками создать коллекции в бд "main" и сервис успешно заработает:

achievements
comments
points
routes
users

У коллекции points должен быть текстовый индекс для поля name (язык русский)

Разработчик

Новиков Семен Сергеевич - t.me/semyon_dev

About

License:MIT License


Languages

Language:Go 100.0%