Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
b1eb2da
Add files via upload
Losecow Jul 1, 2025
c496b24
connect userinvite
bendy41 Jul 1, 2025
90bbe46
Seperate Role
bendy41 Jul 3, 2025
a23893c
fix teaminvitecode
bendy41 Jul 3, 2025
28013dd
refactoring
Losecow Jul 4, 2025
d6ba421
Merge branch 'refactoring_Teaminvite' of https://github.com/Computer-…
Losecow Jul 4, 2025
9d0a340
teaminvite work!
bendy41 Jul 4, 2025
492682a
Merge refactoring_Teaminvite -> dev
bendy41 Jul 4, 2025
e8287fb
ok
Losecow Jul 4, 2025
f571fca
Merge branch 'match' into matching_sys
Losecow Jul 4, 2025
a0ba107
fix db_structure
bendy41 Jul 5, 2025
60c7fea
Fix invitecontroller&service
bendy41 Jul 6, 2025
0d95cd2
Add TeamController
bendy41 Jul 6, 2025
5db7875
match service complete
Losecow Jul 7, 2025
98c3eed
Add mission_sys
bendy41 Jul 7, 2025
1bb7a6f
Merge
bendy41 Jul 7, 2025
edb949c
fix
bendy41 Jul 7, 2025
fbea4ac
Done merge
bendy41 Jul 7, 2025
d111414
tested by postman
Losecow Jul 8, 2025
59e50a1
Merge branch 'DoneMerge' of https://github.com/Computer-Research-Asso…
Losecow Jul 8, 2025
83df87c
Add sql
bendy41 Jul 8, 2025
c63c8b9
Merge pull request->TeamHome
bendy41 Jul 9, 2025
f0df1aa
Merge branch 'dev' of https://github.com/Computer-Research-Associatio…
bendy41 Jul 9, 2025
fb28137
Add Survey_result
bendy41 Jul 9, 2025
252064b
Edit mbti
bendy41 Jul 9, 2025
eeeb4cc
.
bendy41 Jul 9, 2025
a757f13
refacroting
Losecow Jul 10, 2025
311e3d0
Rebuild mission
bendy41 Jul 10, 2025
0540f95
Merge
bendy41 Jul 11, 2025
a20692c
Done Merge
bendy41 Jul 11, 2025
80c4dfb
Connect DB
bendy41 Jul 11, 2025
8b3f2ac
add Teammember Role
bendy41 Jul 11, 2025
6145683
modified matching sys
Losecow Jul 11, 2025
e8760bb
merge
bendy41 Jul 11, 2025
e6df8ef
Merge pull request #19 from Computer-Research-Association/ConnectSurvey
bendy41 Jul 11, 2025
46bd5f7
Connect Subgroup Name
bendy41 Jul 11, 2025
20eb985
add Mission_sys
bendy41 Jul 15, 2025
0bcc84b
.
bendy41 Jul 16, 2025
ac84af1
create assignedmission
Losecow Jul 16, 2025
69cfe0f
Done mission
bendy41 Jul 17, 2025
9804b96
Final Done
bendy41 Jul 17, 2025
0d391c5
Add Usercontext
bendy41 Jul 18, 2025
28e6418
Add dashboard
bendy41 Jul 18, 2025
cd756d2
Merge branch 'Match_BUG' of https://github.com/Computer-Research-Asso…
bendy41 Jul 21, 2025
1135652
FINAL
bendy41 Jul 22, 2025
dff50bf
catching bug
Losecow Jul 22, 2025
3ea2803
Merge branch 'Getoutbug' of https://github.com/Computer-Research-Asso…
bendy41 Jul 22, 2025
2ff1d5e
Login_sys
bendy41 Jul 29, 2025
0d52311
.
bendy41 Jul 29, 2025
de4cc1a
sfd
bendy41 Jul 29, 2025
5bd05a2
add something
Losecow Jul 30, 2025
88dcd4e
add github action
Losecow Jul 30, 2025
101d668
test-deploy
Losecow Jul 30, 2025
97ce214
fix : update PEM key format
Losecow Jul 30, 2025
b4216cc
ci: fix ci file
Losecow Jul 30, 2025
b1e061a
ci : test new file
Losecow Jul 30, 2025
cfb82e8
ci: new file 22
Losecow Jul 30, 2025
f926c3d
ci: fix file
Losecow Jul 30, 2025
0d4ffd2
ci: fix
Losecow Jul 30, 2025
005f174
ci: add scp command for docker file
Losecow Jul 30, 2025
3e75b92
ci: change file
Losecow Jul 30, 2025
0c5fdfd
ci: update Dockerfile
Losecow Jul 30, 2025
f1b6c9f
ci: change to compose
Losecow Jul 30, 2025
3f8c04b
ci: exchange dockerfile
Losecow Jul 30, 2025
1ad9a6d
Fixed loginsys
bendy41 Aug 4, 2025
8a2981c
setup
Losecow Aug 4, 2025
5eb7390
Merge branch '7Monday' of https://github.com/Computer-Research-Associ…
Losecow Aug 4, 2025
0d5ead0
test1
Losecow Aug 4, 2025
3ec41ec
merge
Losecow Aug 4, 2025
82184e0
merge: resolved conflict in deploy-backend.yml
Losecow Aug 4, 2025
7cb79cf
letsgo
Losecow Aug 4, 2025
51390a5
trigger deploy
Losecow Aug 4, 2025
8ac68e9
fix: adjust deploy path to fix app.jar COPY issue
Losecow Aug 4, 2025
3e18f55
chore: update deploy script to use environment variables in .env
Losecow Aug 5, 2025
0330394
test
Losecow Aug 5, 2025
e058974
refactor: 프로덕션 환경을 위한 .env 연동 및 properties externalize 적용
Losecow Aug 5, 2025
dd4f5b7
refactor: 프로덕션
Losecow Aug 5, 2025
63ef128
refactor: í”
Losecow Aug 5, 2025
57aac40
refactor
Losecow Aug 5, 2025
e3949f6
refactor
Losecow Aug 5, 2025
37b6856
refactor
Losecow Aug 5, 2025
55ca0ef
refactor
Losecow Aug 5, 2025
e1272fa
refactor
Losecow Aug 5, 2025
2ff454d
refactor
Losecow Aug 5, 2025
224d912
refactor
Losecow Aug 5, 2025
96c3c41
redis 죽이고싶다
Losecow Aug 5, 2025
928dbca
redis 죽이고싶다
Losecow Aug 5, 2025
6bb3b68
redisplease
Losecow Aug 5, 2025
9017ee0
redisplease
Losecow Aug 5, 2025
9e61ada
redisplease
Losecow Aug 5, 2025
9d2d32c
plz
Losecow Aug 5, 2025
86f8171
final
bendy41 Aug 6, 2025
9c4c297
FinalFinal
bendy41 Aug 6, 2025
f1d431d
finalinfalinfal
bendy41 Aug 6, 2025
9005773
updated
bendy41 Aug 6, 2025
f4abdf0
updated
bendy41 Aug 6, 2025
842723c
updated final
bendy41 Aug 6, 2025
9a4b1cd
updated final
bendy41 Aug 6, 2025
e8a0661
web
bendy41 Aug 6, 2025
c0883c4
aaaa
bendy41 Aug 6, 2025
826c96f
gradle sib
bendy41 Aug 6, 2025
9b099aa
gradle sib
bendy41 Aug 6, 2025
426f220
v1
bendy41 Aug 6, 2025
ff78822
v2
bendy41 Aug 6, 2025
5fbb55e
v3
bendy41 Aug 6, 2025
7c24333
v4
bendy41 Aug 6, 2025
bd84cb4
v5
bendy41 Aug 6, 2025
7a28bbc
v6
bendy41 Aug 7, 2025
e9094a3
v7
bendy41 Aug 7, 2025
521f944
v8
bendy41 Aug 7, 2025
16cb7a2
v9
bendy41 Aug 7, 2025
92bc30b
v10
bendy41 Aug 7, 2025
3c4b1ab
FINAL V
bendy41 Aug 8, 2025
848640f
update
Losecow Aug 8, 2025
b24192c
update
Losecow Aug 8, 2025
87b1ffa
update
Losecow Aug 8, 2025
ec53d88
update
Losecow Aug 8, 2025
8ca5177
update
Losecow Aug 11, 2025
a8c01f5
update
Losecow Aug 11, 2025
e2d7b16
update
Losecow Aug 11, 2025
b419e58
update
Losecow Aug 11, 2025
615a1e9
update
Losecow Aug 11, 2025
2cb58db
update mission history
Losecow Aug 12, 2025
83e7962
update mission duplicate
Losecow Aug 12, 2025
4908b56
update mission duplicate
Losecow Aug 12, 2025
d3749df
update mission duplicate
Losecow Aug 12, 2025
360ba02
update
Losecow Aug 12, 2025
0b26e8c
update
Losecow Aug 12, 2025
727b05f
update
Losecow Aug 12, 2025
c34715d
update
Losecow Aug 12, 2025
5e88ede
update making subgroup
Losecow Aug 13, 2025
e7b48ef
update making subgroup
Losecow Aug 13, 2025
0e7373c
update making subgroup
Losecow Aug 13, 2025
b3e44b0
update making subgroup
Losecow Aug 13, 2025
87d76d4
Update toekn
Losecow Aug 13, 2025
c469e48
code refactoring
Losecow Aug 14, 2025
9bddb90
code refactoring
Losecow Aug 14, 2025
a05bfb9
refresh token
Losecow Aug 14, 2025
4bd7183
refresh token
Losecow Aug 14, 2025
39f1644
refactoring
Losecow Aug 14, 2025
fee920d
refactoring
Losecow Aug 14, 2025
3a875ba
update personal privacy
Losecow Aug 20, 2025
4554a46
update personal privacy
Losecow Aug 20, 2025
6d9487f
update personal privacy
Losecow Aug 20, 2025
90a9650
update personal privacy
Losecow Aug 20, 2025
744d77e
update personal privacy
Losecow Aug 20, 2025
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
18 changes: 18 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## #️⃣연관된 이슈

> ex) #이슈번호, #이슈번호

## 📝작업 내용

> 이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

### 스크린샷 (선택)
<img src="{url}" width="300"/>

> 스크린샷 너무 크니까 보기 불편해서 만든 템플릿

## 💬리뷰 요구사항(선택)

> 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
>
> ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?
77 changes: 77 additions & 0 deletions .github/workflows/deploy-backend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Deploy Spring Boot to EC2

on:
push:
branches:
- RefactoringBE

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Give gradlew execute permission
run: chmod +x ./gradlew

- name: Build Spring Boot JAR
run: ./gradlew clean bootJar -x test

- name: Prepare deployment directory
run: |
mkdir -p deploy
cp build/libs/*.jar deploy/app.jar


- name: Create .env file for prod
run: |
echo "SPRING_DATASOURCE_URL=${{ secrets.DEPLOY_DB_URL }}" >> deploy/.env
echo "SPRING_DATASOURCE_USERNAME=${{ secrets.DEPLOY_DB_USER }}" >> deploy/.env
echo "SPRING_DATASOURCE_PASSWORD=${{ secrets.DEPLOY_DB_PASS }}" >> deploy/.env

echo "DB_ROOT_PASS=${{ secrets.DB_ROOT_PASS }}" >> deploy/.env

echo "DB_URL=${{ secrets.DB_URL }}" >> deploy/.env
echo "DB_USER=${{ secrets.DB_USER }}" >> deploy/.env
echo "DB_PASS=${{ secrets.DB_PASS }}" >> deploy/.env

echo "SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver" >> deploy/.env
echo "JWT_SECRET=${{ secrets.DEPLOY_JWT_SECRET }}" >> deploy/.env
echo "JWT_ACCESS_TOKEN_EXPIRATION=86400000" >> deploy/.env
echo "JWT_REFRESH_TOKEN_EXPIRATION=604800000" >> deploy/.env

echo "MYSQL_ROOT_PASSWORD=${{ secrets.DB_ROOT_PASS }}" >> deploy/.env

echo "SPRING_JPA_HIBERNATE_DDL_AUTO=update" >> deploy/.env


- name: Upload app.jar and .env to EC2
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.PEM_KEY }}
source: "deploy/app.jar,deploy/.env,docker-compose.yml"
target: "/home/ec2-user/ccgo"
strip_components: 1
- name: SSH into EC2 and restart Docker container
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.PEM_KEY }}
script: |
cd ~/ccgo
docker stop ccgo-app || true
docker rm ccgo-app || true
docker rmi ccgo-app || true
docker compose build
docker compose up -d
17 changes: 15 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,19 @@ application-*.properties
/bin/

# resources
/src/main/resources/application.properties
.src/main/resources
src/main/resources

# End of https://www.toptal.com/developers/gitignore/api/windows,intellij,java,gradle
# End of https://www.toptal.com/developers/gitignore/api/windows,intellij,java,gradle

# pem 파일 (혹시나)
*.pem

# .gitignore
.env

#
.frontend

# 프론트엔드 파일 제외
CC_Maker_FE/
4 changes: 2 additions & 2 deletions .idea/dataSources.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions .idea/modules/CC_Maker_BE.main.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/modules/CC_Maker_BE.test.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/sqldialects.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions CC_Maker_FE
Submodule CC_Maker_FE added at 26f55c
4 changes: 4 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM eclipse-temurin:17-jdk-jammy
COPY build/libs/*.jar app.jar
EXPOSE 8080
CMD ["java", "-jar", "app.jar"]
16 changes: 10 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,23 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'

compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'

implementation 'com.mysql:mysql-connector-j'


testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'
implementation 'org.springframework.boot:spring-boot-starter-validation'

}


tasks.named('test') {
useJUnitPlatform()
}
17 changes: 17 additions & 0 deletions create_mission_history_table.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-- mission_history 테이블 생성
CREATE TABLE mission_history (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
sub_group_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
mission_template_id BIGINT NOT NULL,
completed_at DATETIME NOT NULL,
created_at DATETIME NOT NULL,
FOREIGN KEY (sub_group_id) REFERENCES sub_group(id),
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (mission_template_id) REFERENCES mission_template(id)
);

-- 인덱스 추가 (성능 향상을 위해)
CREATE INDEX idx_mission_history_user_id ON mission_history(user_id);
CREATE INDEX idx_mission_history_sub_group_id ON mission_history(sub_group_id);
CREATE INDEX idx_mission_history_completed_at ON mission_history(completed_at);
58 changes: 58 additions & 0 deletions create_privacy_agreement_tables.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
-- 개인정보 동의서 테이블 생성
CREATE TABLE privacy_agreements (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
version VARCHAR(20) NOT NULL UNIQUE,
content TEXT NOT NULL,
effective_date DATE NOT NULL,
created_at DATETIME NOT NULL,
is_active BOOLEAN NOT NULL DEFAULT TRUE
);

-- users 테이블에 개인정보 동의 관련 컬럼 추가
ALTER TABLE users
ADD COLUMN privacy_agreement_version VARCHAR(20),
ADD COLUMN privacy_agreed BOOLEAN DEFAULT FALSE,
ADD COLUMN privacy_agreed_at DATETIME,
ADD COLUMN privacy_agreed_method VARCHAR(50),
ADD COLUMN privacy_agreed_environment VARCHAR(20);

-- 초기 개인정보 동의서 데이터 삽입 (v1.0)
INSERT INTO privacy_agreements (version, content, effective_date, created_at, is_active) VALUES (
'v1.0',
'개인정보 수집 및 이용에 대한 안내

1. 수집하는 개인정보 항목
- 필수항목: 이름, 생년월일, 이메일, 비밀번호, 성별
- 선택항목: 없음

2. 개인정보의 수집 및 이용목적
- 회원가입 및 서비스 이용
- 서비스 제공 및 운영
- 고객상담 및 문의응답
- 서비스 개선 및 신규 서비스 개발

3. 개인정보의 보유 및 이용기간
- 회원 탈퇴 시까지 (단, 관련 법령에 따라 보존이 필요한 경우 해당 기간까지)

4. 개인정보의 파기절차 및 방법
- 전자적 파일 형태로 저장된 개인정보는 복구 불가능한 방법으로 영구 삭제
- 종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기

5. 동의 거부권 및 동의 거부에 따른 불이익
- 개인정보 수집 및 이용에 대한 동의를 거부할 수 있습니다.
- 동의를 거부할 경우 회원가입 및 서비스 이용이 제한됩니다.

위 내용에 동의하시면 체크박스를 선택해 주세요.

─────────────────────────────────────────
시행일: 2025.08.20 / 버전: v1.0',
'2025-08-20',
NOW(),
TRUE
);

-- 인덱스 생성
CREATE INDEX idx_privacy_agreements_version ON privacy_agreements(version);
CREATE INDEX idx_privacy_agreements_active ON privacy_agreements(is_active);
CREATE INDEX idx_users_privacy_version ON users(privacy_agreement_version);
CREATE INDEX idx_users_privacy_agreed ON users(privacy_agreed);
34 changes: 34 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
version: '3.8'

services:
app:
build: .
image: ccgo-app:latest
container_name: ccgo-app
ports:
- "8080:8080"
restart: always
env_file:
- .env
depends_on:
- mysql
environment:
TZ: Asia/Seoul

mysql:
image: mysql:8
container_name: mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASS}
MYSQL_DATABASE: ccmake
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASS}

volumes:
- mysql_data:/var/lib/mysql

volumes:
mysql_data:
Loading
Loading