# NTO ## Задачи - [x] Migrator - [x] Crud service generator (based on gorm gen) - [ ] Easy init without git repository (like create-nto-app) - [x] Excel export - [ ] Models validation logic (callbacks and other stuff) - [ ] Models [linter](https://git.gogacoder.ru/NTO/gormlint) - [ ] Auto-generated frontend ## Установка Для разработки необходимы следующие инструменты: - [Node.js](https://nodejs.org/en) - [Golang](https://go.dev/dl/) - VSCode или Goland - [UPX](https://github.com/upx/upx/releases/latest) - для сжатия. **Необходимо зазеркалировать с Github и добавить в PATH!!!** - [Git](https://git-scm.com/) - Wails3:`go install -v github.com/wailsapp/wails/v3/cmd/wails3@latest` - MinGw-64: https://jmeubank.github.io/tdm-gcc/ **Необходимо зазеркалировать с Github!!!** ## Разработка ### Hot Reload Для запуска приложения в режиме разработчика используйте эту команду в директории проекта: ``` wails3 dev ``` DevServer также можно открыть по адресу http://localhost:34115. Этот инструмент предоставляет возможность вызывать Go код прямо из инструментов разработчика. ### Генерация TS биндингов Для обновления API для TypeScript используйте команду: ``` wails3 generate bindings -ts ``` ## Сборка Для финальной сборки запустите эту команду в директории проекта: ``` go env -w CGO_ENABLED=1 wails3 build -clean -upx -v 2 -webview2 embed ``` **Перед релизом не забыть**: - поместить все нужные asset'ы в папку assets - изменить версию схемы БД (пока не нужно) - приложить сопроводительную записку. ## Работа без GitHub Настройте прокси для скачивания зависимостей через прокси: ``` go env -w GOPROXY="https://proxy.golang.org,direct" ``` ## CRUD generator Установите crudgen: ``` go install git.gogacoder.ru/NTO/crudgen/cmd/crudgen@latest ``` Сгенерируйте DAL: ``` cd gen go run gen.go ``` Запустите crudgen: ``` crudgen -p internal ``` Не забудьте добавить новые модели в `Entities`, а сервисы в `Services`.