2023-07-24 ~ 2023-08-11
- 파이널 프로젝트 시작 전 프론트엔드와 원활한 협업 연습을 위한 미니 프로젝트입니다.
- REST API를 설계, 개발하여 직접 서버를 배포하고 프론트엔드와 통신하는 방법을 학습합니다.
| Back-End 👑 | Back-End | Back-End | Front-End 👑 | Front-End | Front-End |
|---|---|---|---|---|---|
| 김훈섭 | 김경호 | 강경민 | 김경원 | 윤금엽 | 황인승 |
사용자(사원)- 회원 가입
- 이메일, 비밀번호, 이름 입력 후 가입 (사원 번호는 자동으로 할당)
- 원하는 날짜에 연차 신청
- 연차 취소 & 취소 신청
- 마이페이지 기능
- 잔여 연차 조회, 자신이 사용한 모든 연차 정보 조회
- 할당받은 당직 조회
- 비밀번호 재설정
- 메인페이지 기능
- 모든 사원의 연차, 당직 현황 조회
- 회원 가입
관리자- 신청된 연차의 승인, 반려 결정
- 취소 신청된 연차의 승인, 반려 결정
- 당직 등록, 삭제
- 모든 사원 정보 조회
- 잔여 연차수 조회
- 할당된 당직수 조회
| 이름 | 역할 |
|---|---|
김훈섭팀장 | - 관리자 페이지 기능 구현 └ 사용자 전체 목록 조회 (잔여 연차수, 당직수 통계) └ 사원 계정 삭제 (관련 데이터 모두 삭제) └ 당직 등록, 삭제 └ 모든 연차 조회 (신청 대기, 취소 상태) └ 연차 승인, 반려 - DB 설계 - API 설계 - 서버 배포 |
| 김경호 | - 스프링 시큐리티를 이용한 로그인, 회원가입 기능 구현 - JWT 토큰 기능 구현 - AWS LightSail 서버 세팅 - 회원 비밀번호 수정 - DB 설계 - API 설계 - 서버 배포 |
| 강경민 | - 마이페이지, 메인페이지 기능 구현 └ 개인 연차, 당직 조회 └ 연차 신청, 연차 취소 신청 (JWT 토큰 사용) └ 연차, 당직 전체 목록 조회 - DB 설계 - API 설계 - 서버 배포 |
com
|-- 📂mini
| |-- 📂annualwork
| | |-- 📂component
| | |-- 📂config
| | |-- 📂controller
| | |-- 📂core
| | |-- 📂dto
| | |-- 📂entity
| | | └-- 📂type
| | |-- 📂exception
| | | └-- 📂handler
| | |-- 📂repository
| | |-- 📂service
└---└---└-- 📂utils
- 프로젝트 파일 클론
>> git clone git@github.com:FAST-Mini-Project/back-end.git- application.yml 설정
spring:
datasource:
url: jdbc:mysql://[IP]:[Port]/[데이터베이스 스키마]driver-class-name: com.mysql.cj.jdbc.Driverusername: [데이터베이스 유저네임]password: [데이터베이스 비밀번호]jpa:
show-sql: truehibernate:
ddl-auto: [ddl-auto 설정 (create, create-drop, none)]properties:
hibernate:
format_sql: true# JWT 설정jwt:
secret: [JWT 토큰 발행에 필요한 시크릿키]- 프로젝트 빌드
>> ./gradlew clean build- jar 파일 실행
>> java -jar ./build/libs/anuualwork-0.0.1-SNAPSHOT.jar- Back-End Repository 생성 후 프로젝트 초기 세팅 진행
- main, develop 브랜치 생성
- 각자 Local Repository로 Fork 저장소 생성
- 작업 시작
- 이슈 생성 (이슈 번호 할당
#12) - 이슈 번호에 해당하는 브랜치 생성 (ex.
feature/#12-admin-crud) - 브랜치에서 코드 작업 진행
- 작업 완료 후 commit message 작성 (ex.
[#12] feat: 관리자 연차 등록 구현) - Local Fork 저장소에 Push
- Main 저장소의 develop 브랜치로 Pull Request 요청
- Rebase And Merge 전략으로 병합 (충돌은 최대한 Local에서 해결, 깔끔한 커밋 메시지 관리를 위함)
- 프로젝트 종료 후 develop에서 main으로 Pull Request 요청 후 병합
- 이슈 생성 (이슈 번호 할당
- 개발 서버 배포 기간을 협의 후 해당 날짜에 맞춰서 진행
- 서버 배포 직전에는 반드시 프론트엔드에게 통보
[#이슈번호] feat: 새로운 기능 추가했을 때
[#이슈번호] fix: 버그나 오류 수정했을 때
[#이슈번호] refactor: 코드 리팩토링했을 때
[#이슈번호] chore: 약간 애매한 기타 변경사항
[#이슈번호] docs: 리드미 파일이나 md 파일 수정할 때 (문서작업)

