Skip to content

IssueDiver/IssueDive-Front

Repository files navigation

🎨 IssueDive - Frontend

GitHub 이슈 트래커 클론 프로젝트

프로젝트 개요

IssueDive는 개발자들의 필수 협업 도구인 GitHub 이슈 트래커의 핵심 기능을 구현한 Full-Stack 프로젝트입니다.
이 레포지토리에서는 IssueDive의 프론트엔드 UI를 다룹니다.
Vue.js 3, TypeScript, 그리고 Pinia를 사용하여 반응성이 뛰어나고 상태 관리가 용이한 SPA(Single Page Application)를 구축했습니다.

🔗 Go To Backend Repository


🎥 시연 영상

▶️ 유튜브에서 보기

Image


✨ 주요 기능/비기능 요구사항

🖥️ 반응형 UI Tailwind CSS를 사용하여 데스크탑, 태블릿, 모바일 등 다양한 화면 크기에 최적화된 UI 제공
📄 이슈 목록 동적 필터링(상태, 담당자, 라벨 등), 키워드 검색(디바운싱 적용), 정렬(최신순, 댓글순 등) 기능을 갖춘 이슈 목록 페이지
➕ 이슈 생성 및 수정 담당자/라벨을 쉽게 지정할 수 있는 UI를 통해 새로운 이슈를 생성하고 수정
🏷️ 라벨 관리 모달(Modal) UI를 통해 일관된 사용자 경험으로 라벨을 생성, 수정, 삭제
🔐 인증 JWT 토큰 기반의 로그인/회원가입 기능 및 페이지 접근 제어(Navigation Guard)
✨ UX 개선 회원가입 즉시 자동 로그인, 세션 만료 시 중복 없는 알림, 사용자 친화적인 에러 메시지, 툴팁(Tooltip) 등 사용자 경험을 향상시키기 위한 다양한 디테일을 구현

🛠️ 기술 스택

Backend Java 17, Spring Boot 3.5, Spring Security, JPA/Hibernate, QueryDSL, JUnit5
Database MySQL 8.0, H2 (Test), Redis (JWT Blacklist, 캐싱), AWS RDS
Frontend Vue.js 3, Pinia, Vue Router, Axios, Tailwind CSS
DevOps & Infra Docker, Docker Compose, AWS EC2, Nginx, GitHub Actions (CI/CD), Flyway, K6
Monitoring Spring Boot Actuator, Prometheus, Grafana
Tools IntelliJ, VSCode, MySQL Workbench, Postman, Swagger, Notion, Mermaid, DBdiagram, ChatGPT, Gemini, Claude

프로젝트 구조

src/
├── api/          # Axios 인스턴스 및 인터셉터 설정
├── assets/       # CSS, 이미지 등 정적 에셋
├── components/   # 재사용 가능한 UI 컴포넌트 (IssueList, LabelManager 등)
├── config/       # Mock 데이터 등 설정 관련 파일
├── router/       # Vue Router 설정 (페이지 라우팅, 네비게이션 가드)
├── stores/       # Pinia 상태 관리 (인증 상태 등)
├── types/        # TypeScript 타입 정의 (Interface)
├── utils/        # 공통 유틸리티 함수 (색상 계산 등)
└── views/        # 페이지 레벨의 메인 컴포넌트 (HomeView, IssueDetail 등)

⚙️ 실행 방법

사전 요구사항


로컬 환경에서 실행하기

  1. 레포지토리 클론
git clone [https://github.com/IssueDiver/IssueDive-Front.git](https://github.com/IssueDiver/IssueDive-Front.git)
cd IssueDive-Front
  1. 의존성 설치 npm install

  2. 개발 서버 실행 npm run dev

  3. 확인 웹 브라우저에서 http://localhost:5173/ 에 접속합니다.


환경 변수

이름 설명 예시
DB_HOST RDS 엔드포인트 issuedive-mysql.cro4kgswk31z.ap-northeast-2.rds.amazonaws.com
DB_PORT DB 포트 3306
DB_NAME DB 이름 issue_dive
DB_USER DB 사용자 issue
DB_PASSWORD DB 비밀번호 password

👨‍💻 팀원 소개

은지우 @meraki6512 팀장, BE(Issue) 및 FE(전체) 개발, CI/CD 구축, 성능/보안 개선, 문서화
김소연 @soyeonkim8888 BE(Auth), 통합 테스트
이성채 @sungchaelee BE(Comment), 모니터링, 성능 개선
박세현 @tpgus1221 BE(Label), AWS 배포, API 테스트

📜 주요 산출물

프로젝트의 모든 기획, 설계, 분석 문서는 아래에서 확인하실 수 있습니다.

최종 기획안: 최종 기획안 Docs
발표 자료 (PPT): Canva
API 문서: API 문서: 구글 Docs
기타 산출물: 아키텍처, ERD, UseCase, 성능 개선 리포트, 보안 개선 리포트

Diagram

ERD (데이터베이스 구성도) Use Case Diagram
ERD (데이터베이스 구성도) Use Case Diagram

Architecture

백엔드 상세 아키텍처 (Layered) CI/CD 및 배포 아키텍처
Backend Architecture CI/CD Architecture

About

issue tracker frontend project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors