공백은 대학생들의 공강 시간을 특별하게 채우는 모임 플랫폼입니다.
원하는 모임을 만들고 신청하며, 멤버들과 소통할 수 있는 공간을 제공하여 공강 시간을 의미 있는 경험으로 바꿔줍니다.
⭐️리더 김효준 @khyojun | 이현진 @2hyunjinn | |
---|---|---|
역할 | 백엔드 개발 / 인프라 담당 | 백엔드 개발 / QA 주관 |
담당 API |
|
|
기타 작업 |
|
|
---
기능 | 설명 | 주요 특징 |
---|---|---|
1️⃣ 온보딩 | 나의 정보를 입력하고 공강 시간을 채울 준비를 할 수 있는 공간 | - 학교와 학과 등 간단한 정보를 입력 - 수업 시간표를 바탕으로 공강 시간표 확인 |
2️⃣ 채우기 | 나의 공강 시간에 열리는 모임을 확인할 수 있는 공간 | - 카테고리 필터링 - - - 원하는 모임 신청 가능 |
3️⃣ 모임 모집 | 나의 공강 시간에 하고 싶은 모임을 직접 등록할 수 있는 공간 | - 주기 선택 (일회성 / 다회성) - 날짜와 시간 - 카테고리 / 커버사진 - 장소 / 인원 / 소개글 입력 후 등록 |
4️⃣ 나의 채움 | 내가 참여하는 모임 현황을 한눈에 확인할 수 있는 공간 | - 내가 모집한 모임: 진행 중 / 종료된 모임 구분 가능 - 내가 신청한 모임: 진행 중 / 종료된 모임 구분 가능 |
5️⃣ 스페이스 | 같은 모임을 신청한 멤버만 참여할 수 있는 공간 | - 참여 멤버 정보 확인 - 대화를 통해 모임 준비 |
6️⃣ 모임 상세 | 모임에 대한 다양한 정보를 확인하고 신청할 수 있는 공간 | - 댓글 작성 및 조회 - 모임 신청 및 취소 - 등록자 프로필 조회 - 모임 시간, 날짜, 장소 등 모임 정보 조회 ⭐️등록자: 멤버 관리 가능 ⭐️참여자: 등록자와 대화 후 모임 신청 가능 |
release
: 프로덕트를 배포하는 브랜치입니다.main
: 프로덕트 배포 전 기능을 개발하는 브랜치입니다.feat
: 단위 기능을 개발하는 브랜치로 단위 기능 개발이 완료되면 main 브랜치에 merge 합니다.fix
: 버그 수정docs
: 문서 작업 진행refactor
: 리팩토링chore
: 위 3개 아닌것init
초기 설정 작업deploy
: 배포작업 진행시
- init : 프로젝트 초기 세팅
[init] #1 프로젝트 초기 세팅
- docs : README나 wiki 등의 문서 개정
[docs] #14 리드미 수정
- feat : 새로운 기능 구현
[feat] #11 회원가입 API 기능 구현
- fix : 코드 오류 수정
[fix] #23 회원가입 비즈니스 로직 오류 수정
- refactor : 내부 로직은 변경 하지 않고 기존의 코드를 개선하는 리팩터링
[refactor] #15 클래스 분리
- chore : 의존성 추가, yml 추가와 수정, 패키지 구조 변경, 파일 이동 등의 작업
[chore] #30 파일명 변경
- test: 테스트 코드 작성, 수정
test: 로그인 API 테스트 코드 작성 (#20)
build
가 성공적으로 수행되는지 검사합니다.
자동적으로 배포가 되기 위한 과정입니다.
test
가 성공적으로 수행되는지 검사하고 보고서를 작성합니다.
IDE | IntelliJ |
---|---|
Language | Java 21 |
Framework | Spring Boot 3.4.1, Gradle |
Authentication | JSON Web Tokens |
Orm | Spring Data JPA |
Database | MySQL |
External | AWS EC2, AWS RDS, Nginx, Docker, Docker-Compose |
CI/CD | Github Action |
API Docs | Notion |
Other Tool | Discord, Postman, Figma |
gongbaek-api
├── 📁 src
│ ├── 📁 main
│ │ ├── 📁 java
│ │ │ └── 📁 com
│ │ │ │ └── 📁 ggang.be
│ │ │ │ ├── 📁 api
│ │ │ │ │ ├── 📁 advertisement
│ │ │ │ │ │ └── 📁 controller
│ │ │ │ │ ├── 📁 comment
│ │ │ │ │ │ ├── 📁 controller
│ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ ├── 📁 facade
│ │ │ │ │ │ ├── 📁 registry
│ │ │ │ │ │ ├── 📁 service
│ │ │ │ │ │ └── 📁 strategy
│ │ │ │ │ ├── 📁 common
│ │ │ │ │ ├── 📁 exception
│ │ │ │ │ ├── 📁 group
│ │ │ │ │ │ ├── 📁 everyGroup
│ │ │ │ │ │ │ ├── 📁 controller
│ │ │ │ │ │ │ ├── 📁 service
│ │ │ │ │ │ │ └── 📁 strategy
│ │ │ │ │ │ ├── 📁 onceGroup
│ │ │ │ │ │ │ ├── 📁 controller
│ │ │ │ │ │ │ ├── 📁 service
│ │ │ │ │ │ │ └── 📁 strategy
│ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ ├── 📁 facade
│ │ │ │ │ │ ├── 📁 registry
│ │ │ │ │ │ └── 📁 strategy
│ │ │ │ │ ├── 📁 gongbaekTimeSlot
│ │ │ │ │ │ ├── 📁 controller
│ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ └── 📁 service
│ │ │ │ │ ├── 📁 lectureTimeSlot
│ │ │ │ │ │ ├── 📁 controller
│ │ │ │ │ │ └── 📁 service
│ │ │ │ │ ├── 📁 school
│ │ │ │ │ │ ├── 📁 controller
│ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ └── 📁 service
│ │ │ │ │ ├── 📁 user
│ │ │ │ │ │ ├── 📁 controller
│ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ ├── 📁 service
│ │ │ │ │ │ └── 📁 vo
│ │ │ │ ├── 📁 domain
│ │ │ │ │ ├── 📁 advertisement
│ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ └── 📁 infra
│ │ │ │ │ ├── 📁 comment
│ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ └── 📁 infra
│ │ │ │ │ ├── 📁 common
│ │ │ │ │ ├── 📁 group
│ │ │ │ │ │ ├── 📁 everyGroup
│ │ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ │ ├── 📁 infra
│ │ │ │ │ │ │ └── 📁 vo
│ │ │ │ │ │ ├── 📁 onceGroup
│ │ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ │ ├── 📁 infra
│ │ │ │ │ │ │ └── 📁 vo
│ │ │ │ │ │ └── 📁 vo
│ │ │ │ │ ├── 📁 school
│ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ └── 📁 infra
│ │ │ │ │ ├── 📁 timslot
│ │ │ │ │ │ ├── 📁 gongbaekTimeSlot
│ │ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ │ └── 📁 infra
│ │ │ │ │ │ ├── 📁 lectureTimeSlot
│ │ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ │ ├── 📁 infra
│ │ │ │ │ │ │ └── 📁 vo
│ │ │ │ │ │ └── 📁 vo
│ │ │ │ │ ├── 📁 user
│ │ │ │ │ │ ├── 📁 application
│ │ │ │ │ │ ├── 📁 dto
│ │ │ │ │ │ └── 📁 infra
│ │ │ │ ├── 📁 global
│ │ │ │ │ ├── 📁 annotation
│ │ │ │ │ ├── 📁 aop
│ │ │ │ │ ├── 📁 config
│ │ │ │ │ ├── 📁 exception
│ │ │ │ │ ├── 📁 jwt
│ │ │ │ │ ├── 📁 schedule
│ │ │ │ │ └── 📁 util
│ │ │ │ ├── 📁 config
│ │ │ │ └── Application.java
│ │ │ └── 📁 resources
│ └── 📁 test