Skip to content

misha1350/mospolytech-web-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MosPolytech Web App

Учебный проект, с бэкендом написанным на Go с использованием фреймворка Gin Gonic, MySQL SQLC, jwt-go, и с фронтендом, который разрабатывается с использованием Vue 3. Reverse Proxy - Traefik. Всё в контейнерах Docker. WIP.

Что делает

Позволяет регистрироваться и входить в аккаунт пользователя или администратора. Позволяет администратору редактировать данные пользователя, отключать или удалять аккаунт пользователя. Функционала на данный момент мало, потому что добавление функционала уже является довольно простым занятием - основной задачей данного проекта являлось создание фундамента, на котором можно будет развивать весь остальной функционал по шаблонам всех эндпоинтов и прочего.

Для потенциальных работодателей: В данный момент программа имеет основной фундамент из сервировки HTML-страниц с CSS, контента, и CRUD-запросов вместе с типизированными структурами данных для лёгкой и корректной работы с БД и простого улучшения функционала приложения. При регистрации пароль шифруется в БД с помощью bcrypt. Для аутентификации создаются JWT-токены и сохраняются в cookies у клиента и в БД на сервере. Трафик раскидывается с использованием reverse proxy Traefik. Используется Docker-Compose для сборки всех контейнеров.

Роль Vue 3 + Vite в данном проекте

Клиентское приложение создано с использованием фреймворка Vue 3. Оно поддерживает вход в аккаунт, аутентификацию по токенам JWT. В текущее время разрабатывается функционал для администратора - сейчас приложение позволяет смотреть зарегистрированных пользователей и изменять информацию о пользователях.

Для навигации по приложению создан navbar и переход между страницами сделан при помощи Vue Router. Также используется Vuex для сохранения информации о текущем пользователе.

Как запустить, чтобы проверить приложение уже сейчас

В данный момент запуск приложения через Docker-Compose не является первоочередной задачей (в моём ВУЗе нет такого требования, зато есть требования по срокам), поэтому если сейчас попробовать запустить приложение через docker-compose up, то у вас возможно не получится подключиться к frontend-приложению. Целевая платформа на данный момент - localhost.

После клонирования репозитория (можно сделать через команду git clone https://github.com/misha1350/mospolytech-web-app.git) перейдите в папку с проектом и выполните следующие команды:

cd ./client

npm install

npm run dev

Не забудьте перед этим установить Node.js и npm, а также Golang, потому что необходимо также запустить бэкенд-сервер:

cd ./server

go run main.go

И удостоверьтесь, что ваша база данных MySQL запущена и настроена на порт, который вы должны указать в файле ./server/.env. Через Docker тоже можно подключиться, главное указать правильный адрес, порт, логин и пароль в файле .env.

To-do

  • Добавить больше страниц на Front-end и функционала вместе с ними
  • Починить работу приложения, запущенного через Docker-Compose с Traefik
  • Сделать Makefile'ы
  • Построить пайплайн CI/CD (уже есть один workflow в Actions, но этого недостаточно)
  • Сделать тесты для Middleware

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published