Skip to content

MiniTeam-5/MiniProject-BE

Repository files navigation

📆 LupinTech 연차 관리 프로그램 BackEnd

사용자들의 연차와 당직 요청을 관리하고, 관리자가 승인 또는 거절할 수 있는 시스템을 구축한 백엔드 프로젝트입니다.

Generic badge Generic badge Generic badge

로그인+회원가입

메인+어드민

📎개발 기간

2023.04.27 ~ 2023.05.16


👪 멤버 구성

  • 임진묵(팀장) : 연차 당직 조회 API, SSE 실시간 알람 기능, 리프레시 토큰, 서버 구축, 배포 자동화
  • 김지수 : 연차 당직 신청, 취소, 결정 API, 관리자 권한 API, 액셀 다운로드 API, S3연동
  • 변창우 : 회원 가입, 로그인, 개인정보 조회 및 수정


📑 주요기능



📣 사용법

$ ./gradlew clean build


💻 개발 환경

Languages and Tools

  • Language : java 11
  • Build Tool : gradle
  • Framework : spring-boot 2.7.11
  • Database : mariaDB
  • Storage : S3, cloudFront
  • CI/CD : github action, code deploy, IAM
  • Server : aws EC2, route53, load balancer
backend skillset (4)

dependencies

    implementation 'org.springframework.boot:spring-boot-starter-aop'
    implementation group: 'com.auth0', name: 'java-jwt', version: '4.3.0'
    implementation group: 'org.qlrm', name: 'qlrm', version: '2.1.1'
    implementation 'com.amazonaws:aws-java-sdk-s3:1.12.232'
    implementation 'software.amazon.awssdk:s3:2.20.32'
    implementation group: 'org.springframework.cloud', name: 'spring-cloud-aws', version: '2.2.6.RELEASE', ext: 'pom'
    implementation group: 'org.apache.poi', name: 'poi', version: '5.0.0' 
    implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.0.0'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.mariadb.jdbc:mariadb-java-client:3.1.2'
    testImplementation 'junit:junit:4.13.1'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'com.h2database:h2'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.security:spring-security-test'
    testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'


ERD

architecture

시스템 구성도

미니프로젝트 시스템 구성도 drawio

개발일지

서버구축

  • 백엔드 프로젝트 파일 세팅 (23/04/29) - commit : 9d7c567
  • deploy.yml 파일추가(github action, s3, ec2 배포) (23/04/29) - commit : 8b249a7
  • appsepc.yml 파일추가 (23/04/29) - commit : 48ef493
  • gh_deploy.sh 수정 (23/04/29) - commit : 2015bc1
  • gh_deploy prod 모드 실행 (23/04/29) - commit : 612da02
  • 스크립트 수정 (23/04/30) - commit : 702977a
  • run_server.sh 파일 수정 (23/04/30) - commit : f8c0cb1
  • AWS EC2 mariadb 연동 (23/04/30) - commit : de60a4c
  • db접속정보보안 (23/04/30) - commit : bb63227

API 기능구현 및 테스트

  • login 기능 구현 및 완료 (23/05/02) - commit : a053d54
  • alarm API 구현 (23/05/03) - commit : b57b4cd
  • 회원가입 기능 구현 완료 (23/05/03) - commit : f004c71
  • 연차/당직 신청 구현 완료 (23/05/03) - commit : f700270
  • 연차 당직 신청 전체 테스트 완료 (23/05/03) - commit : 83c0fd6
  • alarm 기능 구현(저장, 불러오기 구현 및 테스트 완료) (23/05/03) - commit : c04b5d8
  • alarm testcode 프로파일세팅, 계정등록 중복 제거 (23/05/03) - commit : 9f53666
  • 회원가입 시 연차 수 계산 로직 구현 (23/05/04) - commit : f657254
  • 연차/당직 신청 취소 API 구현 완료 (23/05/04) - commit : 9d7c567
  • 연차당직정보 가져오기 (23/05/04) - commit : 0b5bf1b
  • 연차당직월주일단위API (23/05/05) - commit : b913a08
  • 매일 날짜 지난 대기 상태 연차 신청 삭제 및 유저 남은 연차 수 증가 기능 (23/05/05) - commit : f9544d9
  • 개인정보 수정 구현 (23/05/05) - commit : 646eba9
  • 관리자의 연차/당직 승인 여부 결정 API 구현 완료 (23/05/05) - commit : 34d38b5
  • 연차에서 공휴일 제외 기능 추가 - 공공 API 사용 (23/05/05) - commit : 5169d40
  • 프로필 수정 + 개인정보 수정 취합 (23/05/06) - commit : b8e632e
  • sseemitter 을 이용한 실시간 알람 (23/05/06) - commit : 9d7c567
  • 개인정보 수정 통합테스트 완료 (23/05/06) - commit : 6823efc
  • refresh token (23/05/08) - commit : 9912045
  • 유저마다 입사일에 맞게 연차일수 자동 증가 기능 구현 (23/05/08) - commit : 5ff2c57
  • 연차/당직 수정. 리프레시 코드 테스트 (23/05/08) - commit : 48d8e41
  • 상태선택연차당직정보가져오기API,연차당직정보가져오기세달치API,특정유저연차당직정보가져오기API,모든 관리자에게 실시간 알람 전송 (23/05/09) - commit : 7267ffc
  • 이메일 인증 기능 구현완료 (23/05/11) - commit : 3dfbb5b
  • s3 연동(프로필 사진 저장) (23/05/11) - commit : bcdc5ff
  • 회원가입 시 기본 프로필사진 저장 (23/05/11) - commit : f32ce98
  • 유저 조회 및 검색 API (23/05/12) - commit : 133023e
  • 모든연차당직API추가 (23/05/12) - commit : b253856
  • 유저의 연차 일수 수정 API (23/05/13) - commit : f6b4731
  • excel download (23/05/14) - commit : a8c1bc0


📖 커밋 규약

프로젝트 위키 참조.



프로젝트 페이지별 소개 및 정리

프로젝트 소개 노션

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors