Skip to content

Commit b11a644

Browse files
changed README.md
1 parent 3d5eea2 commit b11a644

File tree

1 file changed

+87
-1
lines changed

1 file changed

+87
-1
lines changed

README.md

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,90 @@
1313
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=sergeycherkasovv_java-project-99&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=sergeycherkasovv_java-project-99)
1414
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=sergeycherkasovv_java-project-99&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=sergeycherkasovv_java-project-99)
1515
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=sergeycherkasovv_java-project-99&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=sergeycherkasovv_java-project-99)
16-
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=sergeycherkasovv_java-project-99&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=sergeycherkasovv_java-project-99)
16+
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=sergeycherkasovv_java-project-99&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=sergeycherkasovv_java-project-99)
17+
18+
**[Task Manager](https://taskmanager-wc0g.onrender.com)** — это полнофункциональный REST API для системы управления задачами, разработанный на Spring Boot.
19+
20+
## Проект включает в себя следующие основные сущности:
21+
- **User** — пользователь системы
22+
- **Task** — задача с возможностью назначения исполнителя и статуса
23+
- **TaskStatus** — статус задачи
24+
- **Label** — метки для категории задач
25+
26+
## Возможности:
27+
- CRUD операции над сущностями
28+
- Привязка исполнителей, статусов и меток к задачам
29+
- Фильтрация задач по названию, исполнителю, статусу и меткам
30+
- Аутентификация пользователей и защита маршрутов
31+
32+
## Технологии
33+
- Java 21
34+
- [Spring Boot](https://spring.io/projects/spring-boot) — (Web, Data JPA, Validation, Security)
35+
- [MapStruct](https://mapstruct.org/) - для маппинга данных из одного объекта в другой
36+
- [Datafake](https://www.datafaker.net/) - библиотека для наполнения БД (продакшен и тестирование)
37+
- [H2 Database](https://www.h2database.com) — Локальная БД
38+
- [PostgreSQL](https://www.postgresql.org/) — Серверная БД
39+
- [JUnit5](https://junit.org/), [MockWebServer](https://github.com/square/okhttp/tree/master/mockwebserver),
40+
[Instansio](https://www.instancio.org/articles/using-instancio-with-junit-jupiter/),
41+
[JsonUnit](https://github.com/lukas-krecan/JsonUnit)— тестирование
42+
- [Gradle](https://gradle.org/), [GitHub Actions](https://github.com/features/actions),
43+
[SonarQube](https://www.sonarsource.com/) — CI/CD и покрытие
44+
- [Sentry](https://sentry.io/welcome/?utm_source=google&utm_medium=cpc&utm_id=%7B20407805488%7D&utm_campaign=Google_Search_Brand_SentryKW_NORM_Alpha&utm_content=g&utm_term=sentry&gad_source=1&gad_campaignid=20407805488&gbraid=0AAAAADua1WLRT4nVMj6tr8ZfkW6oKh8uJ&gclid=CjwKCAjwvO7CBhAqEiwA9q2YJUx-AwPaaXQajEqNtuZwduX6WBI2vbn-NMg7yp3jh0UCF68PFKoZURoCihcQAvD_BwE) — отслеживание ошибок
45+
46+
## Установка и запуск локально
47+
1. Клонировать репозиторий:
48+
```bash
49+
git [email protected]:sergeycherkasovv/java-project-99.git
50+
cd java-project-99
51+
````
52+
2. Запустить приложения:
53+
```bash
54+
make start-prod
55+
```
56+
3. Открытие приложение:
57+
```bash
58+
http://lovalhost:8080
59+
```
60+
4. OpenAPI(Swagger) документация:
61+
```bash
62+
http://localhost:8080/swagger-ui.html
63+
```
64+
5. Посмотреть доступные команды:
65+
```bash
66+
make help
67+
```
68+
69+
## 🗂 Структура проекта
70+
java-project-99
71+
├── .github/ # CI (GitHub Actions)
72+
├── src/
73+
│ ├── main/
74+
│ │ ├── java/hexlet/code/
75+
│ │ │ ├── component/ # Наполнение БД и ключи
76+
│ │ │ ├── config/ # Конфигурации Spring Security
77+
│ │ │ ├── controller/ # REST контроллеры
78+
│ │ │ ├── exception/ # Кастомные исключения
79+
│ │ │ ├── handler/ # Глобальный обработчик исключений
80+
│ │ │ ├── dto/ # Классы DTO для передачи данных
81+
│ │ │ ├── mapper/ # Маппинг между DTO и сущностями
82+
│ │ │ ├── model/ # Модели: Task, Label, TaskStatus, User, AuthRequest
83+
│ │ │ ├── repository/ # Репозитории Spring Data
84+
│ │ │ ├── service/ # Сервисы (бизнес-логика)
85+
│ │ │ ├── specification/ # Фильтрация задач
86+
│ │ │ ├── util/ # Security
87+
│ │ │ └── AppApplication.java # Точка входа Spring Boot
88+
│ │ └── resources/
89+
│ │ └── application.yml # Конфиги Spring
90+
│ └── test/
91+
│ └── java/hexlet/code/ # Тесты (unit, integration)
92+
├── build.gradle.kts # Gradle сборка (Kotlin DSL)
93+
├── Makefile # Команды для сборки, запуска и тестов
94+
└── README.md
95+
96+
## 📮 Автор
97+
Разработано в рамках обучения на Hexlet.
98+
Автор: [sergeycherkasovv](https://github.com/sergeycherkasovv)
99+
100+
Почта: [email protected]
101+
102+
Telegram: https://t.me/iamcherkasov

0 commit comments

Comments
 (0)