https://github.com/semyon-dev/nov-legend
https://github.com/semyon-dev/nov-legend
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/semyon-dev/nov-legend
- Owner: semyon-dev
- License: mit
- Created: 2021-08-20T21:43:13.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-22T06:53:06.000Z (over 3 years ago)
- Last Synced: 2025-01-13T15:17:18.889Z (4 months ago)
- Language: Go
- Homepage:
- Size: 56.6 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# серверная часть сервиса (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](https://t.me/semyon_dev)