- Created backend structure with Go, including main application logic and API endpoints. - Added Docker support for both development and production environments. - Introduced frontend using Nuxt 3 with Tailwind CSS for styling. - Included configuration files for Docker and environment variables. - Established basic documentation for contributing, development, and deployment processes. - Set up .gitignore and .dockerignore files to manage ignored files in the repository.
1.7 KiB
1.7 KiB
Разработка
Локальный запуск
Бэкенд (Go)
Из корня репозитория:
go build -o hnh-map ./cmd/hnh-map
./hnh-map -grids=./grids -port=8080
Или без сборки:
go run ./cmd/hnh-map -grids=./grids -port=8080
Сервер будет отдавать статику из каталога frontend/ (нужно предварительно собрать фронт, см. ниже). HTML-шаблоны встроены в бинарник (пакет webapp).
Фронтенд (Nuxt)
cd frontend-nuxt
npm install
npm run dev
В dev-режиме приложение доступно по адресу с baseURL /map/ (например http://localhost:3000/map/). Бэкенд должен быть доступен; при необходимости настройте прокси в nuxt.config.ts (например на http://localhost:8080).
Docker Compose (разработка)
docker compose -f docker-compose.dev.yml up
- Фронт: порт 3000 (Nuxt dev-сервер).
- Бэкенд: порт 3080 (чтобы не конфликтовать с другими сервисами на 8080).
Откройте http://localhost:3000/map/. Запросы к /map/api, /map/updates, /map/grids проксируются на бэкенд (host backend, порт 3080).
Сборка образа и prod-композ
docker build -t hnh-map .
docker compose -f docker-compose.prod.yml up -d
В prod фронт собран в образ и отдаётся бэкендом из каталога frontend/; порт 8080.