함께 꾸미며 ✨최애✨에게 진심을 전하는 롤링페이퍼 서비스
![](https://private-user-images.githubusercontent.com/67463603/294701719-77faaad4-1dc0-49ff-a19c-71f07e52b9ac.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NDk2NjIsIm5iZiI6MTczOTQ0OTM2MiwicGF0aCI6Ii82NzQ2MzYwMy8yOTQ3MDE3MTktNzdmYWFhZDQtMWRjMC00OWZmLWExOWMtNzFmMDdlNTJiOWFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDEyMjI0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAyYjNmMWRjZTFiZjM1OTM1MzM4OTk2NjVkNjU5ZWM0Mjk2ZjU0MDVkMWZiZTllYjkyODllODNiNjQ5YTM1MTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.J1dplO7y4AeKQQBkaSQDfPMfBi5h0vUx2WBTEGPan90)
이동섭 🔥 | 김동휘 ⚡️ | 현예진 ❄️️ |
---|---|---|
![]() |
![]() |
![]() |
ddongseop | dong2ast | eeddiinn |
챌린징 요소 | 담당자 |
---|---|
Presigned URL (S3 Management) | 이동섭🔥 |
Social Login (OpenFeign, Spring Security, Redis) | 이동섭🔥 |
CI/CD Script 작성 (Github Actions) | 이동섭🔥 |
AOP Logger 구현 + Discord 서버 알림 구현 | 이동섭🔥 |
서버 부하 테스트 (Jmeter) | 이동섭🔥 |
Soft Delete (RDS Management) | 예진❄️ |
비속어 필터링 (Bad Word Filtering 라이브러리) | 예진❄️ |
Architecture (Docker Compose, Nginx) | 동휘⚡️ |
Status Dashboard 구축 (Netdata, Portainer, Sentry) | 동휘⚡️ |
Deployment including React Project | 동휘⚡️ |
무중단 배포 구현 | 동휘⚡️ |
이미지 캐시 서버 구축 | 동휘⚡️ |
Category | Used |
---|---|
IDE | Intellij |
Java version | Java 17 |
Spring version | 3.1.7 |
Cloud Computing | AWS EC2 (Ubuntu 22.04 LTS) |
Database | AWS RDS (MySQL 8.0.33), Redis |
Build Management | Gradle |
CI/CD | Github Actions, Docker, Nginx |
Monitoring | Netdata, Portainer |
API Test | PostMan, Swagger |
![image](https://private-user-images.githubusercontent.com/67463603/296440351-6e94699e-9061-450e-bf3e-fee17333302d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NDk2NjIsIm5iZiI6MTczOTQ0OTM2MiwicGF0aCI6Ii82NzQ2MzYwMy8yOTY0NDAzNTEtNmU5NDY5OWUtOTA2MS00NTBlLWJmM2UtZmVlMTczMzMzMDJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDEyMjI0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ0MGY3YTc1Mzc4NTc5ZDI0MWQ5MjRhYTgzMDM3NDU5MzQ4ODBhN2Y0MGMwODc5Y2U0YTkyMWNhNTQ5ZTQzNjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.GQJSsDer9UH0b2eYdj-dfu6Apr5QjVkqs4bER7gwsV8)
🗂 Domain Package Structure
& 🏛️Facade Pattern
🗂 lecueServer
├── 🗂 domain
│ ├── 📝 book
│ │ ├── controller
│ │ ├── dto
│ │ ├── 🏛 facade
│ │ ├── model
│ │ ├── repository
│ │ └── service
│ ├── 💗 common
│ ├── 🎁 member
│ ├── 💌 note
│ └── 🎨 sticker
└── 🗂 global
├── 🔒 auth
│ ├── fegin
│ │ └── kakao
│ ├── jwt
│ ├── redis
│ └── security
├── 📦 common
│ ├── dto
│ └── model
├── 🔧 config
├── 🚨 exception
│ ├── enums
│ └── model
└── 📷 s3
├── controller
├── dto
├── enums
└── service
🎨 sticker
와 📝 book
은 JPA의 연관관계 매핑
을 사용하지 않음 ❌
![image](https://private-user-images.githubusercontent.com/67463603/296440531-7daab7a7-0a5b-4af3-9929-474723d972cd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NDk2NjIsIm5iZiI6MTczOTQ0OTM2MiwicGF0aCI6Ii82NzQ2MzYwMy8yOTY0NDA1MzEtN2RhYWI3YTctMGE1Yi00YWYzLTk5MjktNDc0NzIzZDk3MmNkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDEyMjI0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU1Njc3ODZhNDE2ZTUzNTA5NTgyM2U0NTY2ZjM4NDA3MmZjZWVkNTNjMzQzNzRhOGYzMWViYmFlMzg3NjBjNzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5BgwOvRb4jV_dOKpYSS8fMcanZe-S6jqNeSv35S0Fio)