Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
1f125eb
feat: 동아리 운영진 권한 요청 플로우 (#41)
cirtuare Jul 4, 2026
23ac2ac
feat: 동아리 관리 페이지 + 모집공고 등록/수정 (#60)
jylee05 Jul 4, 2026
86f3bd6
feat: 동아리 신규 등록 프로세스 (#85)
cirtuare Jul 4, 2026
e0f599a
fix: sharing link tab not opening (#87)
Daniel-Na118 Jul 6, 2026
67e81cf
캐러셀 영역 스크롤 멈춤 및 상세 페이지 이동 불가능 문제 해결 (#86)
kimnamheeee Jul 6, 2026
36314f3
feat: 동아리 정보 수정 프로세스 (#88)
yhaeul Jul 6, 2026
7a82adc
어드민 동아리 신규 등록/수정 기능 사소한 수정 (#89)
yhaeul Jul 7, 2026
4d42c9d
신규 동아리 등록 이미지 업로드 연동 및 모집 기간 UI 개선 (#90)
yabsed Jul 8, 2026
4b806b9
동아리 등록/수정 화면의 소속 드롭다운을 모달 선택창으로 변경 (#91)
yhaeul Jul 8, 2026
f7fb66f
마이페이지의 관리 동아리 목록, 승인결과 알림 (#92)
yhaeul Jul 12, 2026
31e3f93
fix: 운영진 반려 알림 문구 수정 (#93)
yhaeul Jul 12, 2026
110f578
Fix/manager request confirmation (#94)
yhaeul Jul 12, 2026
5d432c2
마이페이지의 관리중인 동아리 소속/소개 표시 변경 (#95)
yhaeul Jul 13, 2026
3f8cc79
chore: change blur for visibility (#96)
cirtuare Jul 13, 2026
2d685e2
fix: 동아리 관리 카드 표시 정보 수정 및 동 소속 표시 로직 공통화 (#97)
yhaeul Jul 14, 2026
e7cea77
어드민 동아리 신청/관리 수정 (#98)
yhaeul Jul 16, 2026
0fb06a3
fix: 화면 전환 시 BlurView로 인한 흰 화면 문제 수정 (#99)
yhaeul Jul 16, 2026
c54e5ae
fix: 공고 본문 placeholder 문구 통일 (#100)
yhaeul Jul 16, 2026
e23b236
fix: 승인 동아리 관리 버튼 구성 단일화 (#101)
yhaeul Jul 17, 2026
93d4641
fix: 동아리 카드 블러 표시 일관성 개선 (#102)
yhaeul Jul 19, 2026
2c4de91
[동아리 상세 페이지] 상세 페이지 수정 (#103)
dennis0405 Jul 23, 2026
b54d45c
[동아리 상세 페이지] 모집공고 링크 스킴 수정 (#104)
dennis0405 Jul 24, 2026
71d1de6
fix: enlarge club detail SNS logos (#105)
dennis0405 Jul 24, 2026
28ac5f3
fix: update club management edit button (#106)
dennis0405 Jul 24, 2026
c3cec7a
fix: align club management card with design (#107)
dennis0405 Jul 24, 2026
8156274
[마이페이지] 프로필 카드 로고 및 수정 버튼 정렬 (#109)
dennis0405 Jul 24, 2026
b86981f
[동아리 상세] 모집 마감 시각 및 사진 확대 기능 수정 (#108)
dennis0405 Jul 24, 2026
cabd063
fix: show recruitment details as plain text (#110)
dennis0405 Jul 24, 2026
9a8bbef
[QA] 동아리 화면 표시 및 사진 뷰어 사용성 개선 (#111)
dennis0405 Jul 25, 2026
6f94e34
fix: strengthen alert modal backdrop (#112)
dennis0405 Jul 25, 2026
55232d6
fix: unblock image viewer gestures (#113)
dennis0405 Jul 25, 2026
bd6084e
refactor: 동아리 관리자 권한 신청 API 전환 (#115)
yhaeul Jul 25, 2026
d468749
perf: 동아리 정보 수정 화면 렌더링 최적화 (#116)
yhaeul Jul 25, 2026
f8b6822
[마이페이지] 동아리 신청 상태별 관리 기능 개선 (#117)
yhaeul Jul 25, 2026
7e09178
fix: 신청 취소 및 신청 내용 수정 버튼 배치 변경 (#118)
yhaeul Jul 26, 2026
bafcd8b
fix: 대기 중인 운영진 중복 신청 방지 (#119)
yhaeul Jul 26, 2026
879616f
chore: harden club image handling across platforms (#114)
dennis0405 Jul 27, 2026
a9a4b3a
[앱 공통] 앱 로고 및 진입 화면 애니메이션 개편 (#120)
dennis0405 Jul 28, 2026
4fd0dd4
fix: 진입 화면 안전 영역과 공지 모달 순서 수정 (#121)
dennis0405 Jul 28, 2026
df6c100
feat: 비로그인 앱 진입 플로우 추가 (#123)
dennis0405 Jul 29, 2026
cea957d
총동연 인증 마크 추가 (#122)
kimnamheeee Aug 3, 2026
cba9f57
[동아리 관리] 총동연 공식 인증 신청 기능 추가 (#124)
dennis0405 Aug 3, 2026
451909e
Prettier, ESLint -> Biome migration (#125)
jwchoi-kr Aug 4, 2026
6706809
chore: migrate package management to pnpm (#126)
jwchoi-kr Aug 5, 2026
622c2ad
Chore/create monorepo (#127)
jwchoi-kr Aug 9, 2026
3baaa9f
Remove repository VS Code settings (#128)
jwchoi-kr Aug 9, 2026
22f030e
Fix monorepo deployment workflows (#129)
jwchoi-kr Aug 9, 2026
aaf9a75
Resolve Android dependencies from monorepo root (#130)
jwchoi-kr Aug 9, 2026
004051b
Add environment variable templates (#131)
jwchoi-kr Aug 9, 2026
03e2820
Add monorepo README (#132)
jwchoi-kr Aug 9, 2026
ece7c5f
[대시보드] 운영진 대시보드에 중앙동아리 소속 필터 추가
yhaeul Aug 10, 2026
bb617bd
[대시보드] 중앙동아리 제외 필터 추가 및 탭 이름 변경 (#134)
yhaeul Aug 10, 2026
446055e
fix: 모바일 디자인 QA 이슈 수정 (#135)
dennis0405 Aug 10, 2026
8adeb86
fix: 안드로이드 모노레포 환경에서 아이콘 폰트 경로 수정 (#136)
yhaeul Aug 10, 2026
55d17e1
feat: 공식 인증 재요청 상태 및 횟수 관리 추가 (#137)
yhaeul Aug 10, 2026
984476f
feat: 공식 인증 재요청 횟수를 학기별로 초기화 (#139)
yhaeul Aug 10, 2026
a77e0fb
공식 인증 요청 및 재요청 플로우 구현 (#140)
yhaeul Aug 10, 2026
c9428c8
fix: iOS 모노레포 환경에서 node_modules 경로 수정 (#138)
cirtuare Aug 11, 2026
ff35161
마이페이지 모달 및 바텀시트 동작 수정 (#142)
yhaeul Aug 11, 2026
929ad25
refactor: 사용자 학과 정보를 collegeMajor 기반으로 전환 (#143)
yhaeul Aug 11, 2026
a2d5bfc
fix(mobile): 동아리 등록 및 인증 UI QA 반영 (#144)
dennis0405 Aug 11, 2026
9ef7ea0
모바일 레거시 필드 의존성 제거
yhaeul Aug 11, 2026
07f34a9
chore(mobile): bump Android version to 3.0.1 (#145)
dennis0405 Aug 11, 2026
4d50a78
refactor: v1 API 및 레거시 DB 필드 제거 (#147)
yhaeul Aug 11, 2026
3603e85
ci: update GitOps image tag after web deploy (#141)
dennis0405 Aug 11, 2026
6aed1b9
fix(mobile): reduce club SNS icon size (#148)
dennis0405 Aug 12, 2026
7648c86
fix: post-deploy SQL의 unique constraint 삭제 방식 수정 (#149)
yhaeul Aug 12, 2026
0469efa
모바일 텍스트 잘림 및 공고 폼 UI 개선 (#150)
yhaeul Aug 12, 2026
565d411
Fix/mobile UI qa (#151)
yhaeul Aug 12, 2026
c50a9b2
fix(mobile): 홈 헤더 및 카테고리 UI 정렬 (#152)
yhaeul Aug 12, 2026
c2b4697
chore: prepare 3.0.1 production release (#153)
dennis0405 Aug 13, 2026
7ef4d25
chore(mobile): target Android 16 (#154)
dennis0405 Aug 13, 2026
417274f
fix: TestFlight QA UI 이슈 수정 (#155)
dennis0405 Aug 15, 2026
4aefc93
fix: 마이페이지 QA 후속 이슈 수정 (#156)
dennis0405 Aug 15, 2026
b193110
fix: 실기기 QA 피드백 UI 보완 (#157)
dennis0405 Aug 16, 2026
a0f2afd
chore(web): patch production dependency vulnerabilities (#160)
dennis0405 Aug 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
18 changes: 18 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.git
.github
.turbo
.bundle-check
.history
.idea
.vscode
**/.next
**/.turbo
**/node_modules
**/android
**/ios
**/vendor
**/.env*
**/coverage
**/dist
**/out
*.md
25 changes: 8 additions & 17 deletions .github/actions/setup-android-env/action.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
name: Setup Android Environment
description: Setup Node, Java, Corepack, and install dependencies
description: Setup Node, pnpm, Java, and install dependencies

runs:
using: composite
steps:
- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node
uses: actions/setup-node@v6.3.0
with:
node-version: 20
cache: yarn
cache-dependency-path: yarn.lock

- name: Enable Corepack
run: corepack enable
shell: bash
node-version: 22.13
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Setup Java
uses: actions/setup-java@v5.2.0
Expand All @@ -22,14 +21,6 @@ runs:
java-version: 17
cache: gradle

- name: Restore node_modules cache
id: cache_node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('yarn.lock', 'package.json', 'patches/**') }}

- name: Install dependencies
if: steps.cache_node_modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile --prefer-offline
run: pnpm install --frozen-lockfile
shell: bash
25 changes: 8 additions & 17 deletions .github/actions/setup-node-env/action.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,19 @@
name: Setup Node Environment
description: Setup Node, Corepack, and install dependencies (with node_modules cache)
description: Setup Node and pnpm, then install dependencies

runs:
using: composite
steps:
- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node
uses: actions/setup-node@v6.3.0
with:
node-version: 20
cache: yarn
cache-dependency-path: yarn.lock

- name: Enable Corepack
run: corepack enable
shell: bash

- name: Restore node_modules cache
id: cache_node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('yarn.lock', 'package.json', 'patches/**') }}
node-version: 22.13
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install dependencies
if: steps.cache_node_modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile --prefer-offline
run: pnpm install --frozen-lockfile
shell: bash
65 changes: 65 additions & 0 deletions .github/workflows/_deploy-web.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Deploy web image

on:
workflow_call:
inputs:
ocir_repository:
description: OCIR repository that receives the web image
required: true
type: string
gitops_overlay_path:
description: Kustomize overlay path in waffle-world-oci
required: true
type: string
secrets:
OCI_AUTH_TOKEN:
required: true
DEPLOYER_APP_PRIVATE_KEY:
required: true

permissions:
contents: read

jobs:
deploy:
name: Build and push web image
runs-on: ubuntu-24.04-arm
concurrency:
group: deploy-${{ inputs.ocir_repository }}
cancel-in-progress: true

env:
IMAGE_TAG: ${{ github.run_id }}-${{ github.run_attempt }}
OCIR_REGISTRY: yny.ocir.io
OCIR_NAMESPACE: ax1dvc8vmenm
OCIR_REPOSITORY: ${{ inputs.ocir_repository }}

steps:
- name: Checkout merged commit
uses: actions/checkout@v5.0.1
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}

- name: Login to OCIR
run: echo "${{ secrets.OCI_AUTH_TOKEN }}" | docker login "$OCIR_REGISTRY" -u "$OCIR_NAMESPACE/members/waffle-deployer" --password-stdin

- name: Build web image
run: |
docker build \
--file apps/web/Dockerfile \
--platform linux/arm64 \
--tag "$OCIR_REGISTRY/$OCIR_NAMESPACE/$OCIR_REPOSITORY:$IMAGE_TAG" \
.

- name: Push web image
run: docker push "$OCIR_REGISTRY/$OCIR_NAMESPACE/$OCIR_REPOSITORY:$IMAGE_TAG"

- name: Update GitOps image tag
uses: wafflestudio/waffle-world-oci/.github/actions/update-image@main
with:
image: ${{ env.OCIR_REGISTRY }}/${{ env.OCIR_NAMESPACE }}/${{ env.OCIR_REPOSITORY }}
tag: ${{ env.IMAGE_TAG }}
# The OCIR repository includes the service suffix, while the GitOps
# overlay is rooted at the environment directory (for example, argocd/allclear-dev).
overlay-path: ${{ inputs.gitops_overlay_path }}
private-key: ${{ secrets.DEPLOYER_APP_PRIVATE_KEY }}
5 changes: 4 additions & 1 deletion .github/workflows/android-dev-internal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:

- name: Restore Android local config
shell: bash
working-directory: apps/mobile
env:
ANDROID_ENV_LOCAL: ${{ secrets.ANDROID_ENV_LOCAL }}
ANDROID_GOOGLE_SERVICES_JSON: ${{ secrets.ANDROID_GOOGLE_SERVICES_JSON }}
Expand All @@ -51,6 +52,7 @@ jobs:
chmod 600 android/app/debug.keystore

- name: Build standalone dev APK
working-directory: apps/mobile
run: |
chmod +x android/gradlew
cd android
Expand All @@ -60,7 +62,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: android-dev-release-apk-${{ github.run_number }}
path: android/app/build/outputs/apk/devRelease/*.apk
path: apps/mobile/android/app/build/outputs/apk/devRelease/*.apk
if-no-files-found: error
retention-days: 7

Expand All @@ -81,6 +83,7 @@ jobs:

- name: Cleanup local config
if: always()
working-directory: apps/mobile
run: |
rm -f .env.local
rm -f android/app/google-services.json
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/android-main-internal-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ jobs:

- name: Restore Android release config
shell: bash
working-directory: apps/mobile
env:
ANDROID_ENV_PROD: ${{ secrets.ANDROID_ENV_PROD }}
ANDROID_GOOGLE_SERVICES_JSON_PROD: ${{ secrets.ANDROID_GOOGLE_SERVICES_JSON_PROD }}
Expand Down Expand Up @@ -76,11 +77,12 @@ jobs:
- name: Compute version code
shell: bash
run: |
version_code=$((100009 + GITHUB_RUN_NUMBER))
version_code=$((100011 + GITHUB_RUN_NUMBER))
echo "VERSION_CODE=${version_code}" >> "$GITHUB_ENV"
echo "RELEASE_NAME=main internal ${version_code}" >> "$GITHUB_ENV"

- name: Build release bundle
working-directory: apps/mobile
run: |
chmod +x android/gradlew
cd android
Expand All @@ -91,7 +93,7 @@ jobs:
with:
serviceAccountJsonPlainText: ${{ secrets.PLAY_SERVICE_ACCOUNT_JSON }}
packageName: com.padocorp.clubhouse.applicationId
releaseFiles: android/app/build/outputs/bundle/release/app-release.aab
releaseFiles: apps/mobile/android/app/build/outputs/bundle/release/app-release.aab
track: internal
status: completed
releaseName: ${{ env.RELEASE_NAME }}
Expand All @@ -111,6 +113,7 @@ jobs:

- name: Cleanup local config
if: always()
working-directory: apps/mobile
run: |
rm -f .env.prod
rm -f android/app/google-services.json
Expand Down
20 changes: 15 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,21 @@ jobs:
- name: Setup Node environment
uses: ./.github/actions/setup-node-env

- name: Lint
run: yarn lint
- name: Lint, typecheck, and test
run: pnpm verify

- name: Typecheck
run: yarn typecheck
build-web:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v5.0.1

- name: Setup Node environment
uses: ./.github/actions/setup-node-env

- name: Build web
run: pnpm --filter allclear-web build

bundle:
runs-on: ubuntu-latest
Expand All @@ -46,4 +56,4 @@ jobs:
uses: ./.github/actions/setup-node-env

- name: Bundle (${{ matrix.platform }})
run: yarn bundle:${{ matrix.platform }}
run: pnpm --dir apps/mobile run bundle:${{ matrix.platform }}
27 changes: 27 additions & 0 deletions .github/workflows/deploy-web-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Deploy web to development

on:
pull_request:
branches: [develop]
types: [closed]
paths:
- apps/web/**
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- turbo.json
- biome.json
- .dockerignore
- .github/workflows/_deploy-web.yml
- .github/workflows/deploy-web-dev.yml

jobs:
deploy:
if: github.event.pull_request.merged == true
uses: ./.github/workflows/_deploy-web.yml
with:
ocir_repository: allclear-dev/allclear-web
gitops_overlay_path: argocd/allclear-dev
secrets:
OCI_AUTH_TOKEN: ${{ secrets.OCI_AUTH_TOKEN }}
DEPLOYER_APP_PRIVATE_KEY: ${{ secrets.DEPLOYER_APP_PRIVATE_KEY }}
27 changes: 27 additions & 0 deletions .github/workflows/deploy-web-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Deploy web to production

on:
pull_request:
branches: [main]
types: [closed]
paths:
- apps/web/**
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- turbo.json
- biome.json
- .dockerignore
- .github/workflows/_deploy-web.yml
- .github/workflows/deploy-web-prod.yml

jobs:
deploy:
if: github.event.pull_request.merged == true
uses: ./.github/workflows/_deploy-web.yml
with:
ocir_repository: allclear-prod/allclear-web
gitops_overlay_path: argocd/allclear-prod
secrets:
OCI_AUTH_TOKEN: ${{ secrets.OCI_AUTH_TOKEN }}
DEPLOYER_APP_PRIVATE_KEY: ${{ secrets.DEPLOYER_APP_PRIVATE_KEY }}
12 changes: 10 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,9 @@ web_modules/
# Optional stylelint cache
.stylelintcache

# Turborepo cache
.turbo/

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
Expand All @@ -196,6 +199,7 @@ web_modules/

# dotenv environment variable files
.env.*
!.env.example

# parcel-bundler cache (https://parceljs.org/)
.cache
Expand All @@ -218,6 +222,9 @@ dist
# vuepress build output
.vuepress/dist

# Local task planning
tasks/

# vuepress v2.x temp and cache directory
.temp

Expand Down Expand Up @@ -501,8 +508,9 @@ $RECYCLE.BIN/
# .pnp.*

#CocoaPods
ios/Pods
ios/tmp.xcconfig
apps/mobile/ios/Pods
apps/mobile/ios/tmp.xcconfig
apps/mobile/ios/.xcode.env.local


# End of https://www.toptal.com/developers/gitignore/api/reactnative,windows,macos,intellij+all,visualstudiocode,yarn,node
1 change: 0 additions & 1 deletion .husky/pre-commit

This file was deleted.

1 change: 0 additions & 1 deletion .husky/pre-push

This file was deleted.

15 changes: 0 additions & 15 deletions .prettierrc.json

This file was deleted.

Loading
Loading