Skip to content

Conversation

@dragunshin
Copy link

링크: 배포 링크

피그마 디자인: 피그마 링크

홈 페이지를 제외하고 menual 디자인과 비슷한 톤으로 유지했습니다.

홈 페이지
image

후보자 페이지
image

투표 페이지
image

투표 결과 페이지
image

2차 필수 구현 사항

  1. 투표 기능

투표 버튼을 통해 투표를 진행합니다
로그인하지 않은 사용자의 경우 로그인 페이지로 리다이렉트됩니다
일정 문제로 백엔드 API 서버에 투표 기능이 없어 실시간, 중복 투표는 구현하지 못했습니다

  1. 후보 목록 조회

후보자 이름, 사진(기본 아바타로 설정), 팀명이 표시되어 있습니다
Front-End/Back-End 탭으로 전환 가능하며
후보자 클릭 시 상세 페이지로 소개를 볼 수 있습니다. 이 페이지에서 바로 투표 페이지 버튼이 있어 연결성을 주었습니다

  1. 투표 결과 조회

득표수를 가져와 표시합니다 득표수를 내림차순으로 구현했습니다
일정 문제로 백엔드 API 서버에 투표 기능이 없어 실시간, 중복 투표는 구현하지 못했습니다

  1. 에러 처리
image image

API 명세서를 바탕으로 api 에러 코드별 메시지를 우선으로 매핑했습니다

image image

보안 상의 이유로 1101,1102는 통합된 메시지를 사용해 보완했습니다

업무 분배 및 후기

최무헌

투표 기능을 맡아 진행했습니다

기본적으로 파트원 이름과 팀명은 mockData에서 불러오도록 구성했습니다. 사용자가 카드(팀)를 선택해 투표하면, 서버에 맞는 payload로 axios를 통해 POST 요청을 전송하도록 구현했습니다.

투표 결과 화면은 useEffect로 마운트 시점에 GET 요청을 보내 팀별 투표 결과를 조회하고
응답 데이터를 득표수 기준 내림차순으로 정렬하도록 처리했습니다.

또한 데이터의 생성과 조회가 모두 서버 중심으로 이뤄져 전역으로 공유해야 할 상태가 크지 않아 별도의 상태관리 라이브러리는 사용하지 않았습니다.

마지막으로 추후에는 미들웨어를 적용해 /vote/* 와 같은 투표 관련 URL을 Protected Route로 설정하여
로그인 되지 않은 접근을 제한할 예정입니다

신용섭

후보자 조회와 에러 처리를 맡아 진행했습니다

후보자 목록과 상세 페이지를 두고, 후보자 데이터의 경우는 프론트엔드, 백엔드 후보자 10명의 데이터를 구조화해
파트별 후보자 조회 함수, ID로 후보자 조회 함수로 데이터를 관리했습니다
image

에러 처리의 경우

HTTP 상태 코드별 에러 메시지를 매핑했습니다

  • 401 Unauthorized: 인증 만료 안내
  • 403 Forbidden: 권한 없음
  • 404 Not Found: 리소스 없음
  • 500/502/503: 서버 오류

Axios 인스턴스를 설정했습니다 환경 변수를 관리하고, 10초 타임아웃을 설정했습니다
또한 쿠키 기반 인증 요청을 지원할 수 있도록 했습니다

7주차 과제에서 구현하지 못했던 로그인 기능을 백엔드와 연동하여 구현했습니다
swaggerUI를 보며 백엔드와 연동시키는 작업은 새롭고 재밌었습니다

백엔드 투표 API가 없어 mockData로 완성했습니다. 이후 백엔드와 연결까지 구현해 마무리해보고 싶습니다

hayong39 and others added 30 commits November 1, 2025 00:03
- 루트의 node_modules, package.json, package-lock.json 삭제
- .gitignore 추가하여 불필요한 파일 배포 방지
- build.sh 수정으로 깔끔한 배포 구조 유지
- GitHub Actions 워크스페이스 경로에 맞게 수정
- output 폴더 생성 위치 변경
sungahChooo pushed a commit to sungahChooo/next-vote-22nd that referenced this pull request Dec 20, 2025
sungahChooo pushed a commit to sungahChooo/next-vote-22nd that referenced this pull request Dec 20, 2025
sungahChooo pushed a commit to sungahChooo/next-vote-22nd that referenced this pull request Dec 20, 2025
…ation

[CEOS-Developers#7]refactor: FE, BE 투표 애니매이션 수정
sungahChooo pushed a commit to sungahChooo/next-vote-22nd that referenced this pull request Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants