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
Приємного перегляду.
Недавні записи
- Комп'ютерний зір (Машинний зір)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
- U-FOC - Векторне керування безколекторними моторами
- FOC - своя реалізація векторного керування. Підбиваю підсумки 2022 року
- Конструктор регуляторів моторів. Підбиваю підсумки 2022 року.
Tags
ngnix flash flask i2c servo dma gpio avr solar bme280 docker eeprom sms java-script barometer rtc dht11 ssd1306 bldc motor raspberry-pi ssd1331 mpu-9250 dc-dc rfid foc st-link usb remap pwm capture soldering nodemcu lcd eb-500 esp8266 mpu-6050 nvic usart books mpx4115a timer adc bluetooth tim programmator meteo sensors led python websocket hih-4000 html pmsm mongodb bmp280 gps encoder displays smd stm32 css git examples rs-232 ethernet brushless 3d-printer watchdog max1674 exti atmega options battery uart wifi bkp piezo web
Архіви