Привет. Начиная с этой статьи мы начинаем серию статей по написанию микроCRM системы. В качестве технологий используемых в этой серии мы будем использовать:

- GoLang (+ Echo framework) в качестве бекенда

- VueJs — в качестве фронтенда

Вся система у нас будет SPA (Single Page Application).

На вашем компьютере должен быть установлен компилятор Golang, Npm или Yarn.

Теперь пару слов о том какие возможности будут у нашей CRM!

1) Регистрация/Авторизация пользователей

2) Список пользователей

3) Список телефонных номеров пользователя

Давайте начинать!

 

Шаг 1 (Установка)

Первым делом нам необходимо установить echo и vuejs

Для сервера мы создадим каталог server и установим в него фреймворк echo, откроем этот каталог в терминале и введем:

go get -u github.com/labstack/echo/...

 

После установки echo, перейдем к установке vuejs, для этого создадим каталог frontend откроем его в терминале и введем:

npm install -g @vue/cli

или

yarn global add @vue/cli

если вы используете yarn.

Отлично, с установкой разобрались. Давайте разберемся с портами, для фронтенда мы будем использовать порт 8080, а для бекенда порт 1323.

Теперь создадим в каталоге server файл main.go и добавим в него следующий код:

package main

import (
	"github.com/labstack/echo"
	"github.com/labstack/echo/middleware"
)

func main() {
	e := echo.New()

	// Middleware
	e.Use(middleware.Logger())
	e.Use(middleware.Recover())
	e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
		AllowOrigins: []string{"*"},
		AllowMethods: []string{echo.GET, echo.PUT, echo.POST, echo.DELETE},
	}))


	e.GET("/", func(c echo.Context) error {
		return c.JSON(http.StatusCreated, "Welcome in CRM")
	})
	e.Logger.Fatal(e.Start(":1323"))
}

Давайте разберем более подробнее этот код! Первым делом мы импортировали необходимые пакеты echo фреймворка. Далее мы создаем экземпляр класса фреймворка:

e := echo.New()

 

Ниже идут Middleware отвечающие за Логирование,   CORS  запросы (в примере мы разрешаем доступ со всех адресов и методами GET,POST,PUT,DELETE) и наконец мы создаем и запускаем сервер на порту 1323 и выводим сообщение.

Ок, после перехода по адресу http://localhost:1323 мы увидим наше сообщение. Что-ж в ближайших нескольких статьях мы будем разбирать бекенд (так как именно с бекенда стоит начинать любое SPA приложение). Для тестирования запросов мы будем использовать Postman.

Теперь давайте создадим в корне еще два дополнительных каталога, это auth - каталог который будет хранить все файлы аутентификации и каталог model в котором будут все модели нашего приложения.

В следующем уроке мы напишем  авторизацию с помощью JWT на бекенде.




Поддержать автора