Skip to content

Commit 81fc4c6

Browse files
Add readme and makefile
1 parent 165fb5c commit 81fc4c6

3 files changed

Lines changed: 54 additions & 26 deletions

File tree

Makefile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
.DEFAULT_GOAL := build-run
2+
3+
clean:
4+
./gradlew clean
5+
lint:
6+
./gradlew checkstyleMain checkstyleTest
7+
build:
8+
./gradlew clean build
9+
run:
10+
./gradlew run --args='--spring.profiles.active=dev'
11+
test:
12+
./gradlew test
13+
report:
14+
./gradlew jacocoTestReport
15+
16+
build-run: build run

README.md

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,34 @@
1-
### Hexlet tests and linter status:
21
[![Actions Status](https://github.com/VictorGotsenko/java-project-99/actions/workflows/hexlet-check.yml/badge.svg)](https://github.com/VictorGotsenko/java-project-99/actions)
2+
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=VictorGotsenko_java-project-99&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=VictorGotsenko_java-project-99)
33

4-
🌐[Task-Manager on Render](https://java-project-99-5u14.onrender.com/welcome)
4+
## Task manager
5+
6+
This is a application that allows you to track progress towards your goals through task management, like [Redmine](http://www.redmine.org) .
7+
8+
Allows you to create entities such as: password-protected users, tasks, labels and task tags. You can also filter by these parameters.
9+
10+
### See it work
11+
The UI version is available 🌐[here](https://java-project-99-5u14.onrender.com) , use it to log in:
12+
```bash
13+
username: hexlet@example.com
14+
password: qwerty
15+
```
16+
It can be used as a server application without a user interface (backend application).
17+
- The API can be found on the [page](https://java-project-99-5u14.onrender.com/swagger-ui/index.html)
18+
19+
### To run locally
20+
Clone your copy and run
21+
22+
```bash
23+
# run application in development mode
24+
make run
25+
26+
# go to http://localhost:8080
27+
# use username: hexlet@example.com
28+
# password: qwerty
29+
```
30+
31+
#### Used technologies:
32+
- Backend: Java, Spring Boot,SpringDoc WebMVC UI, LOMBOK, Mapstruct, HikariCP, PostgreSQL, H2database,
33+
- Tests: JUnit, MockWebServer, Instacio, Javacrumbs
34+
- Frontend: Vite, React, TS

build.gradle.kts

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
id("org.springframework.boot") version "3.5.6"
88
id("org.springdoc.openapi-gradle-plugin") version "1.9.0"
99
id("io.spring.dependency-management") version "1.1.7"
10-
id("org.sonarqube") version "6.2.0.5505" //id("org.sonarqube") version "7.0.1.6134"
10+
id("org.sonarqube") version "7.0.1.6134"
1111
id("io.sentry.jvm.gradle") version "5.12.2"
1212
}
1313

@@ -37,55 +37,38 @@ dependencies {
3737
implementation("org.springframework.boot:spring-boot-starter-security")
3838
implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
3939
implementation("org.springframework.boot:spring-boot-devtools")
40-
40+
//
4141
implementation("net.datafaker:datafaker:2.5.3")
42-
4342
// SpringDoc OpenAPI Starter WebMVC UI » 2.8.13
4443
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.13")
45-
46-
4744
// модуль jackson-databind-nullable
4845
implementation("org.openapitools:jackson-databind-nullable:0.2.6")
49-
5046
// Mapstruct
5147
implementation("org.mapstruct:mapstruct:1.5.5.Final")
52-
5348
// конфиг Mapstruct не работает с классами, в которых используется lombok
5449
// https://ru.stackoverflow.com/questions/1286369
5550
compileOnly("org.projectlombok:lombok:1.18.38")
5651
compileOnly("org.mapstruct:mapstruct:1.5.5.Final")
5752
annotationProcessor("org.projectlombok:lombok-mapstruct-binding:0.2.0")
5853
annotationProcessor("org.mapstruct:mapstruct-processor:1.5.5.Final")
5954
annotationProcessor("org.projectlombok:lombok:1.18.38")
60-
61-
6255
// DataBase section
6356
implementation("com.zaxxer:HikariCP:6.3.0")
64-
6557
runtimeOnly("com.h2database:h2")
6658
implementation("com.h2database:h2:") // database H2 & HikariCP
6759
// for driver class: org.postgresql.Driver
6860
runtimeOnly("org.postgresql:postgresql")
6961
implementation("org.postgresql:postgresql:42.7.7")
70-
62+
// *** Tests ***
7163
testCompileOnly("org.projectlombok:lombok:1.18.38")
7264
testAnnotationProcessor("org.projectlombok:lombok:1.18.38")
7365
testAnnotationProcessor("org.mapstruct:mapstruct-processor:1.5.5.Final")
74-
66+
//
7567
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
76-
77-
//**** for Test Render
78-
// testImplementation(platform("org.junit:junit-bom:6.0.0-M1"))
79-
// testImplementation("org.junit.jupiter:junit-jupiter:6.0.0-M1")
80-
8168
// стартёр тестов
8269
testImplementation("org.springframework.boot:spring-boot-starter-test")
83-
8470
// для аутентификации
8571
testImplementation("org.springframework.security:spring-security-test")
86-
//****
87-
// testImplementation("org.springframework:spring-test:6.2.10")
88-
8972
// test JSON struct
9073
testImplementation("net.javacrumbs.json-unit:json-unit-assertj:4.1.1")
9174
// Instacio
@@ -136,10 +119,9 @@ sonar {
136119
property("sonar.projectKey", "VictorGotsenko_java-project-99")
137120
property("sonar.organization", "victorgotsenko")
138121
property("sonar.host.url", "https://sonarcloud.io")
139-
122+
// property("sonar.log.level", "TRACE")
140123
// Отключаем проверку зависимостей
141-
// property("sonar.dependencyVerification.enabled", "false")
142-
property("sonar.log.level", "TRACE")
124+
property("sonar.dependencyVerification.enabled", "false")
143125
}
144126
}
145127

0 commit comments

Comments
 (0)