Обновил описание проекта
This commit is contained in:
79
README.md
79
README.md
@@ -0,0 +1,79 @@
|
||||
# Sweater — клон популярной социальной сети
|
||||
|
||||
Учебный проект, реализующий основные функции социальной сети: регистрация, авторизация, публикация сообщений, подписки, профиль пользователя и др. Разработан с использованием **Spring Boot**, **Spring Security**, **MySQL**, **Thymeleaf/Freemarker**, **Flyway**, **Testcontainers** и других технологий.
|
||||
|
||||
---
|
||||
|
||||
## Функциональность
|
||||
|
||||
* **Сообщения**
|
||||
|
||||
* Добавление, просмотр, фильтрация
|
||||
* Редактирование
|
||||
* Пагинация с сокращённым списком ссылок
|
||||
|
||||
* **Пользователи**
|
||||
|
||||
* Регистрация с активацией по email
|
||||
* Аутентификация (Spring Security)
|
||||
* Авторизация по ролям (`USER`, `ADMIN`)
|
||||
* Подписка/отписка от пользователей
|
||||
* Просмотр списка подписчиков/подписок
|
||||
* Редактирование профиля
|
||||
* Хранение сессий в БД (`rememberMe`)
|
||||
|
||||
* **Безопасность**
|
||||
|
||||
* Spring Security + CustomUserDetailsService
|
||||
* Шифрование паролей
|
||||
* Валидация данных
|
||||
* reCAPTCHA при регистрации
|
||||
* Защита маршрутов по ролям (@EnableMethodSecurity)
|
||||
|
||||
* **Файлы и внешний вид**
|
||||
|
||||
* Загрузка изображений и других файлов
|
||||
* Доступ к статическим ресурсам
|
||||
* Bootstrap для стилизации форм и страниц
|
||||
* Freemarker вместо Mustache
|
||||
|
||||
* **Инфраструктура и миграции**
|
||||
|
||||
* MySQL вместо PostgreSQL
|
||||
* Flyway — миграции базы данных
|
||||
* Перевод генерации ID на `IDENTITY`
|
||||
|
||||
* **Тестирование**
|
||||
|
||||
* Интеграционные тесты c Testcontainers
|
||||
* Модульные тесты пользовательского сервиса
|
||||
|
||||
---
|
||||
|
||||
## Стек технологий
|
||||
|
||||
* **Backend**: Spring Boot, Spring MVC, Spring Data JPA, Spring Security
|
||||
* **Frontend**: Freemarker, Bootstrap
|
||||
* **Database**: MySQL
|
||||
* **Migration**: Flyway
|
||||
* **Тесты**: JUnit 5, Testcontainers
|
||||
* **Прочее**: reCAPTCHA, email-activation, file upload
|
||||
|
||||
---
|
||||
|
||||
## Источники и вдохновение
|
||||
|
||||
- Проект реализован основываясь на видеокурсе Андрея Letscode, за что ему большое спасибо!
|
||||
---
|
||||
|
||||
## Как запустить
|
||||
|
||||
1. Установите и настройте **MySQL**
|
||||
2. Укажите параметры подключения в `application.properties`
|
||||
3. Запустите проект:
|
||||
|
||||
```bash
|
||||
./mvnw spring-boot:run
|
||||
```
|
||||
|
||||
4. Откройте в браузере: `http://localhost:8080`
|
||||
|
||||
Reference in New Issue
Block a user