Тег: web
Golang + Vue + PostgreSQL #2
У цьому прикладі: Все те саме, що і у попередньому прикладі, тільки з базою даних PostgreSQL.
Як переглянути цей приклад?
Підготовка PostgreSQL
- Встановіть PostgreSQL (port 5432)
- Для користувача postgres встановіть пароль postgres
- Створіть базу даних з назвою test. Нічого в ній не робіть
База даних готова, тепер - запускаємо приклад.
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
- Завантаження файлів
Як переглянути приклад?
Flask & Vue. Завантаження файлів. Приклад № 2.10
Робота web-додатка з файлами - це задача, яка має декілька шляхів для рішення. Ми розглянемо лише один з можливих.
У попередніх прикладах у моделі Countries заздалегідь було зроблено поле flag_img. Та воно було лише текстовим полем. Настав час зробити так, щоб можна було завантажити картинку :)
Flask & Vue. OAuth. Приклад№ 2.9
OAuth використовується для того, щоб ідентифікувати користувача сторонніми сервісами. Якщо Ви бачили на сайтах "Увійти через Facebook" - це воно.
Flask & Vue. Використання систем збірки проекту. Webpack. Приклад№ 2.8
Flask & Vue. SQLAlchemy, Migrate, Marshmallow, JWT. Приклад№ 2.7
Flask & Vue. Кастомні компоненти. Приклад№ 2.6
Flask & Vue. Авторизація. Приклад№ 2.5
Flask & Vue. Проста аутентифікація. Приклад№ 2.4
Flask & Vue. Серверна пагінація, пошук, сортування даних. Приклад№ 2.3
Flask & Vue. Frontend - Зручна навігація. Приклад№ 2.2
Flask & Vue. Друга серія прикладів
Вітаю. Починаю наступну, другу серію прикладів Flask + Vue. У цій серії будуть наступні статті:
- Згадати все (ця стаття)
- Посторінковий вивід даних (пагінація). Як зробити правильно
- Посторінковий вивід даних + сортування + пошук
- Проста Аутентифікація
- Авторизація
- Наводимо красу. Кастомний вигляд компоненту "Product"
- Знову переробляємо backend. SQLAlchemy, Migrate, Marshmallow, JWT
- Використання систем збірки проекту. Webpack
Недавні записи
- Фільтрація Back-EMF. Безсенсорні BLDC мотори
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
Tags
barometer dht11 wifi bmp280 meteo ssd1306 uart books dc-dc lcd tim ssd1331 timer programmator battery exti mpx4115a motor flask nodemcu usb dma html java-script rs-232 st-link 3d-printer rfid esp8266 nvic encoder gpio piezo eb-500 brushless docker sms pmsm ngnix servo examples avr led smd i2c bkp eeprom usart solar soldering python flash stm32 raspberry-pi bme280 mpu-9250 hih-4000 foc bldc sensors rtc pwm capture adc max1674 atmega gps bluetooth remap mongodb mpu-6050 websocket css git watchdog displays ethernet web options
Архіви