Scribble — это веб-приложение, разработанное с использованием React и Go, которое предоставляет API для управления данными и взаимодействия через HTTP-эндпоинты. Это приложение включает в себя функциональность для регистрации пользователей, аутентификации, управления постами и лайками.
-
Go
- Скачайте и установите Go с официального сайта.
- Проверьте установку:
go version
-
Node.js
- Скачайте и установите Node.js с официального сайта.
- Проверьте установку:
node -v npm -v
-
PostgreSQL
- Скачайте и установите PostgreSQL с официального сайта.
- Создайте базу данных с именем
scribble
и пользователяscribble_user
с паролем123456
.
Инструкция по настройке smtp: https://yandex.ru/support/yandex-360/customers/mail/ru/mail-clients/others
-
Настройте файл
.env
в папкеback
:-
Откройте файл
back/.env
и заполните его следующими значениями:# WEB APP CONFIG APP_IP=localhost APP_PORT=8080 APP_URL=http://localhost:8080 APP_JWT_SECRET=ваш_секретный_ключ # DATABASE CONFIG DBHOST=localhost DBPORT=5432 DBNAME=scribble DBUSER=scribble_user DBPASS=123456 DBSSLMODE=disable # SMTP SMTP_SERVER=smtp.yandex.ru SMTP_MAIL_NAME=ваш_email@yandex.ru SMTP_SSL_PORT=465 SMTP_PASSWORD=ваш_пароль SMTP_PAUSE=1000 # AUTH CACHE AUTH_TIME_TO_LIVE=15 AUTH_CLEANUP_INTERVAL=30
-
- Запустите батник для сборки и запуска бэкенда:
- Откройте терминал и перейдите в папку
back
:cd путь_к_вашему_проекту/back
- Запустите батник:
initSwag.bat
- После этого выполните:
go build main.go
- Запустите скомпилированный файл:
main.exe
- Откройте терминал и перейдите в папку
- Настройте файл
.env
в папкеfront
:- Откройте файл
front/.env
и добавьте или измените следующие строки:VITE_API_KEY=ваш_api_ключ
- Откройте файл
-
Установите зависимости:
- Откройте терминал и перейдите в папку
front
:cd путь_к_вашему_проекту/front
- Установите зависимости с помощью npm:
npm install
- Откройте терминал и перейдите в папку
-
Запустите фронтенд:
- После установки зависимостей запустите проект:
npm run dev
- После установки зависимостей запустите проект:
- Откройте браузер и перейдите по адресу:
http://localhost:8080/swagger/index.html
- Go — для бэкенда
- JavaScript/TypeScript — для фронтенда
-
Бэкенд:
- GORM — ORM для работы с базой данных
- Gorilla Mux — маршрутизатор для HTTP-запросов
- Gorilla WebSocket — для работы с WebSocket
- JWT-Go — для работы с JSON Web Tokens
- Swaggo — для генерации документации Swagger
-
Фронтенд:
- React — библиотека для построения пользовательских интерфейсов
- React Router — для маршрутизации в приложении
- Axios — для выполнения HTTP-запросов
- Tailwind CSS — для стилизации компонентов
- Vite — сборщик для разработки и сборки приложений
- PostgreSQL — реляционная база данных для хранения данных приложения
- Node.js — для разработки фронтенда
- npm — для управления зависимостями фронтенда
- ESLint — для статического анализа кода и обеспечения качества кода
Теперь вы готовы запустить проект Scribble на своем локальном компьютере. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь спрашивать!