2025 마스터즈 팀 프로젝트로 진행한 이슈 트래커입니다.
이슈 상태, 담당자, 마일스톤, 라벨 등 다양한 속성을 기준으로 이슈를 체계적으로 관리할 수 있도록 직접 설계 및 구현하였습니다.

- 회원 가입 / 로그인 (JWT 기반 인증)
- 이슈 CRUD (생성 / 조회 / 수정 / 삭제)
- 마일스톤 및 라벨 관리
- 담당자 및 작성자 지정
- 이슈 필터링 및 검색
- GitHub OAuth2 로그인
| 나고 | 디노 | 배찌 |
|---|---|---|
| 🦊 frontend | 🦖 backend | 🐯 backend |
main ← 최종 배포 브랜치
├─ dev-be ← 전체 기능 통합 브랜치
│ ├─ be/CS-11/feature-auth/login
│ └─ be/CS-12/feature-auth/signup
└─ dev-fe
└─ fe/CS-15/feature-auth/login-ui
- Java 21 / Spring Boot 3.4.5
- Gradle
- MySQL
- JDBC
- GitHub Actions (CI/CD)
- AWS EC2, RDS, S3
- Nginx
- React 19.1.0
- Vite 6.3.5
- TypeScript 5.8.3
- Tailwind CSS 4.1.6 (shadcn/ui)
- Biome 1.9.4 (lint & format)
- react-router-dom 7.6.0
- Zustand 5.0.4
- Immer 10.1.1
src/
└── app/
├── layout/ # AppLayout, NoHeaderLayout 등 레이아웃 컴포넌트
├── providers/ # Router.tsx 등
├── main.tsx # ReactDOM.render 진입점
└── App.tsx # 최상위 진입점 (Router 설정 등)
└── pages/
├── IssueListPage/ # /issues
├── IssueDetailPage/ # /issues/:id
├── LoginPage/ # /login
├── LabelListPage/ # /labels
└── MilestoneListPage/ # /milestones
└── entities/
├── issue/ # model, api, hooks, fixtures
├── user/ # model, api, hooks, fixtures
├── label/ # model, api, hooks, fixtures
└── milestone/ # model, api, hooks, fixtures
└── features/
├── issueList/ # issue filters, sort, search 등 비즈니스 로직 컴포넌트
└── shared/
├── api/ # client.ts, types.ts, mockData.ts
├── auth/ # AuthGuard.tsx (Router에서 감쌈)
├── theme/ # Globals.css ThemeToggleButton.tsx 등 테마 정의 및 테마 변경 컴포넌트
├── ui/ # Button, CustomDropdownPanel, Input 등 재사용 컴포넌트
└── utils/ # shadcn-utils, date-format, classname merge 등
└── widgets/
└── Header/ # Header 위젯