Skip to content

Commit 9c1b7f7

Browse files
authored
Merge pull request #111 from CommitField/dev
dev merge to main
2 parents c39e243 + a6e2077 commit 9c1b7f7

File tree

101 files changed

+3243
-353
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+3243
-353
lines changed

โ€Ž.gitignoreโ€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ docker-compose.yaml
7575

7676
### dbํŒŒ์ผ
7777
db/
78+
.docker
79+
data/
80+
.dummy
7881

7982
### secret ํ”„๋กœํ•„
8083
application-secret.yml

โ€Žbuild.gradle.ktsโ€Ž

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,16 @@ dependencies {
4040
compileOnly("org.projectlombok:lombok")
4141
annotationProcessor("org.projectlombok:lombok")
4242

43-
// DB
43+
//DB
4444
runtimeOnly("com.h2database:h2")
4545
runtimeOnly("com.mysql:mysql-connector-j")
4646
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
4747

48-
// redis
48+
//redis
4949
implementation("org.springframework.boot:spring-boot-starter-data-redis")
50-
implementation("org.springframework.session:spring-session-data-redis")
50+
implementation ("org.redisson:redisson-spring-boot-starter:3.42.0") // redis message broker(lock)
51+
implementation ("org.springframework.session:spring-session-data-redis")
5152

52-
// actuator
53-
implementation("org.springframework.boot:spring-boot-starter-actuator")
5453

5554
// Security
5655
implementation("org.springframework.boot:spring-boot-starter-security")
@@ -59,10 +58,7 @@ dependencies {
5958

6059
//Swagger
6160
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0")
62-
63-
//Web Socket
6461
implementation("org.java-websocket:Java-WebSocket:1.5.2")
65-
implementation ("org.springframework:spring-messaging")
6662

6763
// JWT
6864
implementation("io.jsonwebtoken:jjwt-api:0.12.6")
@@ -80,7 +76,6 @@ dependencies {
8076
// Spring Security OAuth2
8177
implementation ("org.springframework.security:spring-security-oauth2-client:6.4.2") // Or the version you're using
8278
implementation ("org.springframework.security:spring-security-oauth2-core:6.4.2") // Or the version you're using
83-
8479
}
8580

8681
tasks.withType<Test> {

โ€Žsrc/main/java/cmf/commitField/CommitFieldApplication.javaโ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
55
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
6+
import org.springframework.scheduling.annotation.EnableScheduling;
67

78
@SpringBootApplication
89
@EnableJpaAuditing
10+
@EnableScheduling
911
public class CommitFieldApplication {
10-
1112
public static void main(String[] args) {
1213
SpringApplication.run(CommitFieldApplication.class, args);
1314
}
14-
1515
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package cmf.commitField.domain.File.service;
2+
3+
import org.springframework.boot.context.properties.ConfigurationProperties;
4+
import org.springframework.stereotype.Component;
5+
6+
//@Configuration
7+
@Component
8+
@ConfigurationProperties(prefix = "custom.file")
9+
public class FileProperties {
10+
private String uploadDir;
11+
12+
public String getUploadDir() {
13+
return uploadDir;
14+
}
15+
16+
public void setUploadDir(String uploadDir) {
17+
this.uploadDir = uploadDir;
18+
}
19+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package cmf.commitField.domain.File.service;
2+
3+
import org.springframework.stereotype.Service;
4+
import org.springframework.web.multipart.MultipartFile;
5+
6+
import java.io.IOException;
7+
import java.nio.file.Files;
8+
import java.nio.file.Path;
9+
import java.nio.file.Paths;
10+
import java.nio.file.StandardCopyOption;
11+
12+
@Service
13+
public class FileService {
14+
15+
// resources/static/uploads ํด๋” ๊ฒฝ๋กœ
16+
private final String UPLOAD_DIR = "src/main/resources/static/uploads"; // ์ƒ๋Œ€ ๊ฒฝ๋กœ
17+
18+
// ํŒŒ์ผ ์ €์žฅ ๋ฉ”์†Œ๋“œ
19+
public String saveFile(MultipartFile file) throws IOException {
20+
// ํŒŒ์ผ ์ด๋ฆ„์„ ์œ ๋‹ˆํฌํ•˜๊ฒŒ ์ƒ์„ฑ
21+
String filename = System.currentTimeMillis() + "_" + file.getOriginalFilename();
22+
23+
// ํŒŒ์ผ ๊ฒฝ๋กœ ์ƒ์„ฑ
24+
Path path = Paths.get(UPLOAD_DIR, filename); // static/uploads ํด๋”์— ์ €์žฅ
25+
26+
// ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒ์„ฑ
27+
Files.createDirectories(path.getParent());
28+
29+
// ํŒŒ์ผ ์ €์žฅ
30+
Files.copy(file.getInputStream(), path, StandardCopyOption.REPLACE_EXISTING);
31+
32+
// ์ €์žฅ๋œ ํŒŒ์ผ์˜ URL ๋ฐ˜ํ™˜ (์›น์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ)
33+
return "/uploads/" + filename; // ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” URL ๋ฐ˜ํ™˜
34+
}
35+
}
36+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package cmf.commitField.domain.Timer.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
@RestController
6+
public class TimerController {
7+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package cmf.commitField.domain.Timer.dto;
2+
3+
import lombok.Getter;
4+
import lombok.Setter;
5+
6+
import java.time.LocalDateTime;
7+
8+
@Getter
9+
@Setter
10+
public class TimerDto {
11+
private LocalDateTime startTime;
12+
private LocalDateTime endTime;
13+
private String totalTime;
14+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package cmf.commitField.domain.Timer.entity;
2+
3+
import cmf.commitField.domain.user.entity.User;
4+
import jakarta.persistence.GeneratedValue;
5+
import jakarta.persistence.GenerationType;
6+
import jakarta.persistence.Id;
7+
import lombok.AllArgsConstructor;
8+
import lombok.Getter;
9+
import lombok.NoArgsConstructor;
10+
import lombok.Setter;
11+
12+
import java.time.LocalDateTime;
13+
14+
@Getter
15+
@Setter
16+
@NoArgsConstructor
17+
@AllArgsConstructor
18+
public class Timer {
19+
@Id
20+
@GeneratedValue(strategy = GenerationType.IDENTITY)
21+
private Long id;
22+
23+
private User user;
24+
private LocalDateTime startTime;
25+
private LocalDateTime endTime;
26+
private String totalTime;
27+
28+
// ํƒ€์ด๋จธ ์ข…๋ฃŒ ๋ฉ”์„œ๋“œ
29+
public void stop(LocalDateTime endTime, String totalTime) {
30+
this.endTime = endTime;
31+
this.totalTime = totalTime;
32+
}
33+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package cmf.commitField.domain.Timer.service;
2+
3+
import org.springframework.stereotype.Service;
4+
5+
@Service
6+
public class TimerService {
7+
8+
}

โ€Žsrc/main/java/cmf/commitField/domain/admin/controller/ApiV1PetImgController.javaโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import java.util.stream.Collectors;
1313

1414
@RestController
15-
@RequestMapping("/api/v1/admin/pet")
15+
@RequestMapping("/api/v1")
1616
@RequiredArgsConstructor
1717
public class ApiV1PetImgController {
1818
private final S3Client s3Client;

0 commit comments

Comments
ย (0)