Простой месседжер с регистрацией/авторизацией. [В разработке]
Java, Spring, Hibernate, JWT, Vue.js, VueRouter, Vuetify, Vuex, SockJs, Axios.
В целях личного обучения
При регистрации пользователь может загрузить свою аватарку, если он не захочет этого делать, она будет автоматически сгенерирована с использованием сервиса api.multiavatar.com на основе его логина.
Каждый пользователь должен иметь уникальный логин, но не уникальное имя.
Присутствует валидация формы при помощи библиотеки (поэтому все предупреждения на англ. языке).
После регистрации создается JWT токен. Данные хранятся в локальном хранилище:
После регистрации (/signup) и авторизации (/signin) пользователь будет переброшен на главную страницу с чатами (/). (Без авторизации он не сможет туда попасть)
Задачи на текущий момент теперь находятся в issue
Сейчас соединение по SockJs устанавливается в тестовом режиме (просто, что оно есть):
Актуальный вопрос с отображением файлов: https://github.com/TesterReality/Simplegram/commit/3ecf4b18c63f53f00fa1678c5be1b48ff4fa1919
Для того, чтобы запустить проект, вам необходимо отредактировать файл application.properties
в директории src/main/resources
.
Пример для localhost :
spring.datasource.url=jdbc:postgresql://localhost/searchViazmus
spring.datasource.username=postgres
spring.datasource.password=<Ваш пароль>
spring.jpa.generate-ddl=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto= update
#Наш секретный ключ, которым все шифруется/расшифровывается
simplegram.app.jwtSecret= SimplegramSecretKey
#Срок действия JWT токета (в мс) (1 день)
simplegram.app.jwtExpirationMs= 86400000
#В какую директорию будут загружаться файлы при регистрации
simplegram.app.uploadPath = uploads/
После запуска Spring проекта (бек) автоматически создадутся необходимые таблицы. Но данных в них не будет. Вам необходимо их добавить выполнив следующий запрос:
INSERT INTO roles VALUES (1, 'ROLE_USER');
INSERT INTO roles VALUES (2, 'ROLE_ADMIN');
По умолчанию tomcat запустит ваше Spring проект на порту 8080 (Приложение будет запущено на http://localhost:8080)
Чтобы указать, на каком порту будет запущен Ваш фронт, Вам нужно отредактировать файл vue.config.js
в директории src/frontend/
. (Сейчас стоит 3000 порт)
Перейдите в корневую папку frontend
(должен содержать package.json
)(../Simplegram/src/frontend>
) и выполните через консоль следующие команды:
npm install
npm run serve
Фронтэнд приложение будет запущено на http://localhost:3000