Golang + Vue + SQLite #1
Якщо з якихось причин Вам не подобається Python, Flask,- ось приклад web-додатка Golang + Vue. Це абсолютна "калька" того прикладу, що був раніше зроблений на Python за допомогою Flask.
Для адаптування фронтенду, написаного на Vue, до нового бекенду на Golang знадобились мінімальні корекції. Так, абсолютно без змін фронтенду не обійшлось. Бо Golang є сильно типізованою мовою програмування і накладає деякі обмеження і ми вже не можемо робити витівки, які дозоляв слабо типізований Python.
До того ж при написанні бекенду на Golang був використаний web framework Fiber, в якого теж є деякі домовленості, які змусили трохи підкоригувати фронтенд, щоб уникнути "збочень" в написанні коду.
У цьому прикладі:
- Використана база даних SQLite. У наступному прикладі буде PostgreSQL ;)
- Для роботи з БД використовується ORM gorm
- Принцип роботи з базою - CRUD, реалізована пагінація, пошук, сортування
- Аутентифікація користувачів з використанням JWT (github.com/dgrijalva/jwt-go)
- OAuth. Також аутентифікація користувачів можлива через Facebook / Google Account (дивись як налаштувати: https://blog.avislab.com/flask-vue/example9/ налаштування в файлі oauth/config.go)
- Авторизація (права на доступ до окремих моделей роздаються так само, як і в попередніх прикладах. Дивись файл access.json)
- AutoMigrate - виконується при старті додатка, а не окремою командою як в прикладі на Python
- Завантаження файлів
Як переглянути приклад?
Варіант 1 (Не потребує встановлення Golang та модулів):
- Завантажте архів і розпакуйте його в будь яку директорію на Вашому комп'ютері.
- Запустіть бінарний файл main.
- Відкрийте браузер за посиланням http://localhost:5000/frontend/
Варіант 2 (потребує встановленого Golang):
- Завантажте архів і розпакуйте його в будь яку директорію на Вашому комп'ютері.
- У директорії з файлом main.go виконайте команду go mod tidy
- Запустіть додаток командою go run ./main.go
- Відкрийте браузер за посиланням http://localhost:5000/frontend/
login: admin
password: admin
Приємного перегляду.
Недавні записи
- U-FOC PC Monitor для Chrome browser
- Фільтрація Back-EMF. Безсенсорні BLDC мотори
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
Tags
eeprom gps mpu-9250 sensors lcd displays html tim meteo remap pwm avr rfid ethernet pmsm raspberry-pi mpx4115a piezo uart watchdog exti git i2c bme280 bmp280 barometer nodemcu st-link eb-500 led atmega esp8266 bkp servo stm32 wifi flask solar bluetooth brushless motor smd docker books encoder capture battery soldering hih-4000 ssd1331 ssd1306 mpu-6050 dc-dc ngnix programmator mongodb examples adc nvic dht11 rs-232 css websocket web python 3d-printer rtc usart gpio foc bldc usb flash dma sms max1674 java-script timer options
Архіви