Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
ea9ce98
chore: restore frontend CI/CD workflow
chohs4164 Nov 21, 2025
2b8ab9c
chore: restore frontend CI/CD workflow
chohs4164 Nov 21, 2025
8b2585b
feat: add Dockerfile for frontend CI/CD
chohs4164 Nov 21, 2025
cc8a909
feat: add Dockerfile for frontend CI/CD
chohs4164 Nov 21, 2025
e8bdf36
Restore CI/CD workflow from backup
chohs4164 Nov 21, 2025
a8ac278
feat: 다른 api 요청 정보에 대해 동일한 응답을 하도록 변경하는 로직 #7
Taenggu99 Nov 21, 2025
1f26139
Merge branch 'taenggu' of https://github.com/sprinter-wtc/Frontend in…
chohs4164 Nov 21, 2025
397af09
Merge branch 'taenggu' into test
chohs4164 Nov 21, 2025
7140c4a
feat: 기타 파일 업로드 #13
Taenggu99 Nov 21, 2025
d40768b
Merge pull request #14 from sprinter-wtc/taenggu
Taenggu99 Nov 21, 2025
009fcf2
Merge branch 'taenggu' of https://github.com/sprinter-wtc/Frontend in…
chohs4164 Nov 21, 2025
2c5a8ba
Merge branch 'taenggu' into test
chohs4164 Nov 21, 2025
a172a65
Merge branch 'test' of https://github.com/sprinter-wtc/Frontend into …
chohs4164 Nov 21, 2025
53ab065
feat: axios를 프로젝트 의존성에 추가
chohs4164 Nov 21, 2025
4b241e9
누락 파일 업로드 #13
Taenggu99 Nov 21, 2025
e2259ac
Merge pull request #15 from sprinter-wtc/taenggu
Taenggu99 Nov 21, 2025
8d9a64d
Merge remote-tracking branch 'origin/taenggu' into test
chohs4164 Nov 21, 2025
65da87d
Merge branch 'test' of https://github.com/sprinter-wtc/Frontend into …
chohs4164 Nov 21, 2025
5c2ed2b
fix: 메인창 css수정 #3
Taenggu99 Nov 22, 2025
0c57d50
Merge pull request #16 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
f1f9231
fix: API연결부분 수정 #4
Taenggu99 Nov 22, 2025
bb71dfc
Merge pull request #17 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
87649fe
fix: 추천 카페 목록 불러오기 수정 #3
Taenggu99 Nov 22, 2025
40c25be
Merge pull request #18 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
c0da9ad
fix: 카페카드 이미지 오류 수정 #3
Taenggu99 Nov 22, 2025
938df89
Merge pull request #19 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
7731115
fix: 구글 매터리얼 import오류 수정 #13
Taenggu99 Nov 22, 2025
a638ecd
Merge pull request #20 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
424494c
fix: 구글 매터리얼 import오류 수정 #13
Taenggu99 Nov 22, 2025
d82ce3c
Merge pull request #21 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
2b7b578
fix: 구글 매터리얼 import오류 수정 #13
Taenggu99 Nov 22, 2025
95e7b96
fix: 구글 매터리얼 import오류 수정 #13
Taenggu99 Nov 22, 2025
6a01054
Merge pull request #22 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
496349e
feat: AI 검색창 페이지 추천 문장 추가 및 랜덤으로 띄우기 #23
Taenggu99 Nov 22, 2025
4dd7c24
Merge pull request #24 from sprinter-wtc/taenggu
Taenggu99 Nov 22, 2025
af8a445
Merge branch 'taenggu' of https://github.com/sprinter-wtc/Frontend in…
chohs4164 Nov 22, 2025
e5270aa
fix: 선택형 검색페이지 태그 부분 backend 일치작업 #25
Taenggu99 Nov 22, 2025
b2da740
Merge branch 'taenggu' of https://github.com/sprinter-wtc/Frontend in…
chohs4164 Nov 22, 2025
31a9a07
fix: 선택형 검색페이지 태그 부분 backend 일치작업 #25
Taenggu99 Nov 22, 2025
1a87528
fix: API URL 수정 #27
Taenggu99 Nov 23, 2025
9c2a7ba
fix: API URL 변경 및 태그로 검색 안되는 오류 수정 #25
Taenggu99 Nov 23, 2025
568db20
fix: 메인페이지 테마 색 변경 #3
Taenggu99 Nov 23, 2025
02e7693
임시 커밋: TagSearchPage 수정
Taenggu99 Nov 23, 2025
54ccda8
Merge branch 'taenggu' of https://github.com/sprinter-wtc/Frontend in…
Taenggu99 Nov 23, 2025
6171aca
Merge pull request #26 from sprinter-wtc/taenggu
Taenggu99 Nov 23, 2025
733fc41
fix: API 연결 및 태그로 카페 목록 필터링 시 에러뜨는 오류 수정 #25
Taenggu99 Nov 23, 2025
24c6e66
콘솔 오류 발생부분 수정 및 로그에 정보 불러오기#29
Taenggu99 Nov 23, 2025
5eb3985
콘솔 오류 발생부분 수정 및 로그에 정보 불러오기#29
Taenggu99 Nov 23, 2025
b44f065
feat: api에 따른 카페 상세페이지의 이미지 불러오는 함수 처리 #6
Taenggu99 Nov 24, 2025
cc84561
Merge pull request #28 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
23594f0
fix: 폴더 명 변경 #13
Taenggu99 Nov 24, 2025
faf3a29
Merge pull request #30 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
14d5a74
feat: 리뷰 목록 불러오기 함수 구현 및 오류 수정 #31
Taenggu99 Nov 24, 2025
a2fed0a
Merge pull request #32 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
609e4e1
feat: 베스트리뷰 등록 및 리뷰목록 페이지로 이동하는 기능 추가 #31
Taenggu99 Nov 24, 2025
d5fbca5
Merge pull request #33 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
acbbe8a
feat: 리뷰 전체목록을 보여주는 페이지 제작 #31
Taenggu99 Nov 24, 2025
5ffe51f
Merge pull request #34 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
269dee1
feat: API 목록 생성 #4
Taenggu99 Nov 24, 2025
e522371
feat: 모바일 WebView 연동 기능 추가
chohs4164 Nov 24, 2025
006c94e
Merge branch 'test' of https://github.com/sprinter-wtc/Frontend into …
chohs4164 Nov 24, 2025
1ba85c6
fix: 카페 상세페이지 ui수정 #6
Taenggu99 Nov 24, 2025
2f1ff16
검색 페이지 css수정 #36
Taenggu99 Nov 24, 2025
35d4c28
Merge pull request #35 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
7d1276d
AI 검색페이지 태그부분 오류 수정 #37
Taenggu99 Nov 24, 2025
649f0ee
Merge pull request #38 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
85e59b6
메인페이지 impot 코드 추가 #3
Taenggu99 Nov 24, 2025
fcfe644
카페 상세페이지 지도 부분 추가 #6
Taenggu99 Nov 24, 2025
7812492
fix: 리뷰 목록 출력 오류 수 #31
Taenggu99 Nov 24, 2025
d90c734
fix: 메인창 css 수정 #3
Taenggu99 Nov 24, 2025
a661d3e
Merge pull request #39 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
b9c18fb
fix: 기타파일 업로드 #13
Taenggu99 Nov 24, 2025
f86d779
fix: 선택형 검색창 api 반환시 프론트에서 필터링 하는 부분 제거 #41
Taenggu99 Nov 24, 2025
b27c810
Merge pull request #40 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
7defe90
fix: API 목록 #4
Taenggu99 Nov 24, 2025
00b28bc
Merge pull request #42 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
aba004c
fix: 카페 리뷰목록 api 수정 #4
Taenggu99 Nov 24, 2025
c94d003
Merge pull request #43 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
92bd365
fix: 검색페이지 css 수정 #44
Taenggu99 Nov 24, 2025
6e729d4
Merge pull request #45 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
fd12258
fix: AI검색페이지 태그로 api 호출 오류 수정 #37
Taenggu99 Nov 24, 2025
6ce3490
Merge pull request #46 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
63031f9
fix: 카페 카드 목록 이미지 오류 수정 #47
Taenggu99 Nov 24, 2025
98dc3dd
Merge pull request #48 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
56a760a
fix: 공부 장소 추천 상단바 구현 #8
Taenggu99 Nov 24, 2025
143c24d
feat: 장소추천 페이지 태그에 따른 카페 추천 리스트 구현 #50
Taenggu99 Nov 24, 2025
a5d8a90
fix: border 제거 #50
Taenggu99 Nov 24, 2025
245fc1c
fix: 메인페이지 버튼 수정 #3
Taenggu99 Nov 24, 2025
42a66b9
Merge pull request #51 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 2025
03a35fb
fix: AI 검색페이지 오류 수정 #37
Taenggu99 Nov 24, 2025
c380ad7
Merge pull request #52 from sprinter-wtc/taenggu
Taenggu99 Nov 24, 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
35 changes: 35 additions & 0 deletions .github/workflows/frontend-deploy-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI/CD Frontend StudySpot (main)

on:
push:
branches:
- main

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Docker Hub login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push Docker image
run: |
docker build -t ${{ secrets.DOCKER_USERNAME }}/studyspot-frontend:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/studyspot-frontend:latest

- name: Deploy to server via SSH
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.SERVER_IP }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
cd ~/studyspot
docker compose pull frontend
docker compose up -d frontend
35 changes: 35 additions & 0 deletions .github/workflows/frontend-deploy-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI/CD Frontend StudySpot (test)

on:
push:
branches:
- test

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Docker Hub login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push Docker image
run: |
docker build -t ${{ secrets.DOCKER_USERNAME }}/studyspot-frontend:test .
docker push ${{ secrets.DOCKER_USERNAME }}/studyspot-frontend:test

- name: Deploy to server via SSH
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.SERVER_IP }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
cd ~/studyspot
docker compose pull frontend-test
docker compose up -d frontend-test
223 changes: 208 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,23 +1,216 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# Created by https://www.toptal.com/developers/gitignore/api/node,macos,windows,react
# Edit at https://www.toptal.com/developers/gitignore?templates=node,macos,windows,react

# dependencies
/node_modules
/.pnp
.pnp.js
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# testing
/coverage
# Icon must end with two \r
Icon

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

### Node Patch ###
# Serverless Webpack directories
.webpack/

# Optional stylelint cache

# SvelteKit build / generate output
.svelte-kit

### react ###
.DS_*
**/*.backup.*
**/*.back.*

node_modules

*.sublime*

psd
thumb
sketch

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

# End of https://www.toptal.com/developers/gitignore/api/node,macos,windows,react
31 changes: 31 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 1단계: React 앱 빌드
FROM node:20-alpine AS builder

WORKDIR /app
COPY package.json package-lock.json ./

# lock 파일 불일치 문제 우회
RUN npm install --legacy-peer-deps

COPY . .
RUN npm run build

# 2단계: Nginx로 정적 파일 제공
FROM nginx:alpine

# React 빌드 결과물을 복사
COPY --from=builder /app/build /usr/share/nginx/html

# SPA 라우팅 지원
RUN echo 'server { \
listen 80; \
server_name localhost; \
root /usr/share/nginx/html; \
index index.html; \
location / { \
try_files $uri /index.html; \
} \
}' > /etc/nginx/conf.d/default.conf

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Loading