Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ name: Build Gradle and Deploy
on:
push:
branches: [ "release" ]
workflow_dispatch:

jobs:
build-gradle:
Expand Down Expand Up @@ -62,15 +63,6 @@ jobs:
key: ${{ secrets.PRIVATE_KEY }}
source: "./docker-compose.yml"
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"

- name: Copy nginx configuration file to remote
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.PRIVATE_KEY }}
source: "./nginx.conf"
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"

- name: Run docker compose
uses: appleboy/ssh-action@master
Expand All @@ -81,5 +73,5 @@ jobs:
script_stop: true
script: |
cd /home/${{ secrets.USERNAME }}/solid-connect-server
docker-compose down
docker-compose up -d --build
docker compose down
docker compose up -d --build
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/main/resources/secret"]
path = src/main/resources/secret
url = https://github.com/solid-connection/solid-connect-secret
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ dependencies {//todo: 안쓰는 의존성이나 deprecated된 의존성 제거
implementation 'com.amazonaws:aws-java-sdk-s3:1.12.470'
implementation 'org.hibernate.validator:hibernate-validator:8.0.1.Final'
implementation 'jakarta.annotation:jakarta.annotation-api:2.1.1'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
testImplementation "org.mockito:mockito-core:3.3.3"
implementation 'org.apache.commons:commons-lang3:3.12.0'
testImplementation 'org.mockito:mockito-core:3.3.3'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'

Expand Down
18 changes: 3 additions & 15 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,15 @@ services:
depends_on:
- redis

solid-connect-server:
solid-connection-server:
build:
context: .
dockerfile: Dockerfile
container_name: solid-connect-server
container_name: solid-connection-server
ports:
- "8080:8080"
environment:
- SPRING_DATA_REDIS_HOST=redis
- SPRING_DATA_REDIS_PORT=6379
depends_on:
- redis

nginx:
image: nginx:latest
container_name: nginx
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
- /etc/letsencrypt:/etc/letsencrypt
depends_on:
- solid-connect-server
- redis
12 changes: 4 additions & 8 deletions nginx.conf → docs/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ server {

# http를 사용하는 경우 주석 해제
# location / {
# proxy_pass http://solid-connect-server:8080;
# proxy_pass http://solid-connection-server:8080;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Expand All @@ -18,8 +18,8 @@ server {
server {
listen 443 ssl;

ssl_certificate /etc/letsencrypt/live/api.solid-connect.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.solid-connect.net/privkey.pem;
ssl_certificate /etc/letsencrypt/live/api.solid-connection.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.solid-connection.com/privkey.pem;
client_max_body_size 10M;

ssl_protocols TLSv1.2 TLSv1.3;
Expand All @@ -31,14 +31,10 @@ server {
ssl_stapling_verify on;

location / {
proxy_pass http://solid-connect-server:8080;
proxy_pass http://solid-connection-server:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location ~ /.well-known/acme-challenge { # 인증서 갱신에 필요한 경로 설정
allow all;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@

import com.example.solidconnection.application.dto.ApplicationSubmissionResponse;
import com.example.solidconnection.application.dto.ApplicationsResponse;
import com.example.solidconnection.application.dto.ScoreRequest;
import com.example.solidconnection.application.dto.UniversityChoiceRequest;
import com.example.solidconnection.application.dto.VerifyStatusResponse;
import com.example.solidconnection.application.dto.ApplyRequest;
import com.example.solidconnection.application.service.ApplicationQueryService;
import com.example.solidconnection.application.service.ApplicationSubmissionService;
import com.example.solidconnection.application.service.VerifyStatusQueryService;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
Expand All @@ -24,32 +21,22 @@
@RequiredArgsConstructor
@RequestMapping("/application")
@RestController
public class ApplicationController implements ApplicationControllerSwagger {
public class ApplicationController {

private final ApplicationSubmissionService applicationSubmissionService;
private final ApplicationQueryService applicationQueryService;
private final VerifyStatusQueryService verifyStatusQueryService;

@PostMapping("/score")
public ResponseEntity<ApplicationSubmissionResponse> submitScore(
// 지원서 제출하기 api
@PostMapping()
public ResponseEntity<ApplicationSubmissionResponse> apply(
Principal principal,
@Valid @RequestBody ScoreRequest scoreRequest) {
boolean result = applicationSubmissionService.submitScore(principal.getName(), scoreRequest);
@Valid @RequestBody ApplyRequest applyRequest) {
boolean result = applicationSubmissionService.apply(principal.getName(), applyRequest);
return ResponseEntity
.status(HttpStatus.OK)
.body(new ApplicationSubmissionResponse(result));
}

@PostMapping("/university")
public ResponseEntity<ApplicationSubmissionResponse> submitUniversityChoice(
Principal principal,
@Valid @RequestBody UniversityChoiceRequest universityChoiceRequest) {
boolean result = applicationSubmissionService.submitUniversityChoice(principal.getName(), universityChoiceRequest);
return ResponseEntity
.status(HttpStatus.OK)
.body(new ApplicationSubmissionResponse(result));
}

@GetMapping
public ResponseEntity<ApplicationsResponse> getApplicants(
Principal principal,
Expand All @@ -69,11 +56,4 @@ public ResponseEntity<ApplicationsResponse> getApplicantsForUserCompetitors(
return ResponseEntity
.ok(result);
}

@GetMapping("/status")
public ResponseEntity<VerifyStatusResponse> getApplicationVerifyStatus(Principal principal) {
VerifyStatusResponse result = verifyStatusQueryService.getVerifyStatus(principal.getName());
return ResponseEntity
.ok(result);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
Expand Down Expand Up @@ -51,16 +52,19 @@ public class Application {
@Column(length = 50, nullable = false)
private String term;

@ManyToOne
@Column(columnDefinition = "TINYINT(1) NOT NULL DEFAULT 0")
private Boolean isDelete;

@ManyToOne(fetch = FetchType.LAZY)
private UniversityInfoForApply firstChoiceUniversity;

@ManyToOne
@ManyToOne(fetch = FetchType.LAZY)
private UniversityInfoForApply secondChoiceUniversity;

@ManyToOne
@ManyToOne(fetch = FetchType.LAZY)
private UniversityInfoForApply thirdChoiceUniversity;

@ManyToOne
@ManyToOne(fetch = FetchType.LAZY)
private SiteUser siteUser;

public Application(
Expand All @@ -76,14 +80,53 @@ public Application(
this.verifyStatus = PENDING;
}

public void updateGpaAndLanguageTest(
public Application(
SiteUser siteUser,
Gpa gpa,
LanguageTest languageTest,
String term,
Integer updateCount,
UniversityInfoForApply firstChoiceUniversity,
UniversityInfoForApply secondChoiceUniversity,
UniversityInfoForApply thirdChoiceUniversity,
String nicknameForApply) {
this.siteUser = siteUser;
this.gpa = gpa;
this.languageTest = languageTest;
this.term = term;
this.updateCount = updateCount;
this.firstChoiceUniversity = firstChoiceUniversity;
this.secondChoiceUniversity = secondChoiceUniversity;
this.thirdChoiceUniversity = thirdChoiceUniversity;
this.nicknameForApply = nicknameForApply;
this.verifyStatus = PENDING;
}

public Application(
SiteUser siteUser,
Gpa gpa,
LanguageTest languageTest) {
LanguageTest languageTest,
String term,
UniversityInfoForApply firstChoiceUniversity,
UniversityInfoForApply secondChoiceUniversity,
UniversityInfoForApply thirdChoiceUniversity,
String nicknameForApply) {
this.siteUser = siteUser;
this.gpa = gpa;
this.languageTest = languageTest;
this.term = term;
this.updateCount = 0;
this.firstChoiceUniversity = firstChoiceUniversity;
this.secondChoiceUniversity = secondChoiceUniversity;
this.thirdChoiceUniversity = thirdChoiceUniversity;
this.nicknameForApply = nicknameForApply;
this.verifyStatus = PENDING;
}

public void setIsDeleteTrue() {
this.isDelete = true;
}

public void updateUniversityChoice(
UniversityInfoForApply firstChoiceUniversity,
UniversityInfoForApply secondChoiceUniversity,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@AllArgsConstructor
@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED)
@Embeddable
@EqualsAndHashCode(of = {"gpa", "gpaCriteria", "gpaReportUrl"})
public class Gpa {

@Column(nullable = false, name = "gpa")
Expand Down
Loading