| 
1 |  | -## **내 인생 성장곡선 사이트 - Surf 🏄🏻♂️**  | 
 | 1 | +<img src="https://capsule-render.vercel.app/api?type=waving&color=0:5b8dd2,50:81b4ef,100:81b4cf&height=300§ion=header&text=Surf.&fontColor=fff&fontSize=70&fontAlignY=40&desc=my%20own%20growth%20curve%20service&descAlignY=60" width="100%"/>  | 
 | 2 | + | 
 | 3 | + | 
 | 4 | + | 
 | 5 | +# **내 인생 성장곡선 사이트 - _**Surf.**_ 🏄🏻♂️**  | 
2 | 6 | 
 
  | 
3 | 7 | 인생은 surfing 을 타는 것처럼 즐겁지만, suffering 또한 피할 수 없다.  | 
4 | 8 | 
 
  | 
 | 
8 | 12 | 
 
  | 
9 | 13 | ---  | 
10 | 14 | 
 
  | 
11 |  | -## 🧑🏽🤝🧑🏻팀원 소개  | 
 | 15 | +## 👨💻팀원 소개  | 
12 | 16 | 
 
  | 
13 | 17 | | [최승은](https://github.com/cse0518) | [박수빈](https://github.com/suebeen) | [박정미](https://github.com/Jummi10) | [전효희](https://github.com/kwhyo) |  | 
14 | 18 | | :---: | :---: | :---: | :---: |  | 
15 | 19 | | <img src="https://avatars.githubusercontent.com/u/60170616?v=4" width="150" height="150"> | <img src="https://user-images.githubusercontent.com/56287836/146503568-f24e194a-ff54-4340-89d5-66a042cd5d02.png" width="150" height="150"> | <img src="https://user-images.githubusercontent.com/56287836/146504190-28688cf8-0435-421f-808a-ff97f12c25a8.png" width="150" height="150"> | <img src="https://user-images.githubusercontent.com/60170616/146600241-4f634fce-7845-4a54-bd2f-7f6410fecffa.png" width="150" height="150"> |  | 
16 |  | -| 팀장, 개발자 | 개발자 | 개발자 | 개발자 |  | 
 | 20 | +| 팀장, 개발자 | 스크럼 마스터, 개발자 | 개발자 | 개발자 |  | 
 | 21 | + | 
 | 22 | +<br>  | 
17 | 23 | 
 
  | 
18 | 24 | ## 📍프로젝트 목표 및 상세 설명  | 
19 | 25 | 
 
  | 
20 |  | -열심히 달려온 나 자신! 열심히는 하고 있는데 내가 얼마나 발전했는지 기록하는 공간은 없을까? 그냥 일기는 메모장에라도 적을 수 있고, 블로그는 이미 무수히 존재하고, 색다른 방법으로 동기부여 받고 기록하고 공유하는  | 
 | 26 | +열심히 달려온 나 자신! 열심히는 하고 있는데 **내가 얼마나 발전했는지** 기록하는 공간은 없을까? 그냥 일기는 메모장에라도 적을 수 있고, 블로그는 이미 무수히 존재하고, **색다른 방법**으로 동기부여 받고 기록하고 공유하는  | 
21 | 27 | 그런 공간이 필요해! 🙆♀️  | 
22 | 28 | 
 
  | 
23 |  | -- 성장곡선으로 한눈에 내 인생을 돌아보기  | 
24 |  | -- 남들의 성장곡선을 보며 동기부여도 받기  | 
 | 29 | +- **성장곡선**으로 한눈에 내 인생을 돌아보기  | 
 | 30 | +- 남들의 성장곡선을 보며 **동기부여**도 받기  | 
25 | 31 | - 곡선의 특정 구간마다 기록도 남기기  | 
26 | 32 | - 곡선이 아닌 기록들만 모아서 보기  | 
27 |  | -- 필요하다면 포트폴리오로도 사용 가능하기  | 
 | 33 | +- 필요하다면 **포트폴리오**로도 사용 가능하기  | 
 | 34 | + | 
 | 35 | +<br>  | 
28 | 36 | 
 
  | 
29 | 37 | ## 🛠️개발 언어 및 활용 기술  | 
30 | 38 | 
 
  | 
31 | 39 | **개발 환경**  | 
32 | 40 | 
 
  | 
33 |  | -- IDE : **IntelliJ**  | 
34 |  | -- 개발 언어 : **Java 17**  | 
35 |  | -- 프레임워크 : **SpringBoot 2.6.1**  | 
36 |  | -- 영속성 프레임워크 : **JPA**  | 
37 |  | -- 빌드도구 : **Gradle**  | 
38 |  | -- 데이터베이스 : **MySQL**  | 
39 |  | -- 스토리지 : **S3**  | 
 | 41 | +- **Springboot** 로 웹 어플리케이션 서버를 구축했어요.  | 
 | 42 | +- 빌드도구는 **Gradle**을 사용했어요.  | 
 | 43 | +- 다양한 기능과 안정성을 위해 LTS 버전인 **Java 17** 버전을 사용했어요.  | 
 | 44 | +- **Spring Data JPA(Hibernate)** 로 객체 지향 데이터 로직을 작성했어요.  | 
 | 45 | +- **QueryDSL** 로 컴파일 시점에 SQL 오류를 감지해요. JPA 인터페이스로 해결하기 힘든 동적이고 복잡한 query를 보완하고 더 가독성 높은 코드를 작성할 수 있어요.  | 
 | 46 | +- 데이터베이스는 **MySQL**을 사용했어요.  | 
 | 47 | + | 
 | 48 | +**Infrastructure**  | 
 | 49 | + | 
 | 50 | +- **AWS EC2**를 사용해 서버를 구축했어요.  | 
 | 51 | +- **S3** 로 파일을 업로드하고 보관해요.  | 
40 | 52 | 
 
  | 
41 | 53 | **협업 관리**  | 
42 | 54 | 
 
  | 
43 |  | -- API 문서화 : **Postman**  | 
44 |  | -- 이슈 관리 : **Github Issue**  | 
45 |  | -- 커뮤니케이션 : **Slack / Gather / Notion**  | 
46 |  | -- **Git / Github**  | 
 | 55 | +- **Github Issue** 으로 이슈를 관리해요.  | 
 | 56 | +- **Git-flow 전략**을 사용하여 브랜치를 관리해요.  | 
 | 57 | +- **Slack / Gather / Notion** 으로 소통해요.  | 
 | 58 | +- **Postman** 으로 작성한 API 문서를 통해 클라이언트와 소통해요.  | 
47 | 59 | 
 
  | 
48 | 60 | **CI/CD**  | 
49 | 61 | 
 
  | 
50 |  | -- Github action  | 
51 |  | -- Jenkins  | 
 | 62 | +- **Github Actions** 로 코드 퀄리티와 테스트를 검사해요.  | 
 | 63 | +- **Jenkins** 로 백엔드 코드의 지속적인 배포를 진행해요.  | 
 | 64 | +- **Codacy** 로 지속적인 코드 퀄리티 개선을 진행해요.  | 
 | 65 | +- **JACOCO** 로 테스트 커버리지를 검사해요.  | 
52 | 66 | 
 
  | 
53 |  | -**Dependencies**  | 
 | 67 | +**Security**  | 
54 | 68 | 
 
  | 
55 |  | -- Spring Web  | 
56 |  | -- Spring Data JPA  | 
57 |  | -- H2 Database  | 
58 |  | -- Spring REST Docs  | 
59 |  | -- Lombok  | 
 | 69 | +- **Spring Security** 를 사용했어요.  | 
 | 70 | +- 로그인 시에는 **JWT** 토큰을 발행하여 서버의 별도 저장소 없이 로그인을 유지할 수 있어요.  | 
 | 71 | +- CertBot 으로 Let’s Encrypt **SSL** 인증서를 발급받았어요.  | 
 | 72 | +- **Nginx** 가 프록시로 8080 포트를 바라보게 설정했어요.  | 
60 | 73 | 
 
  | 
61 |  | -## 🏗️설계  | 
 | 74 | +<br>  | 
 | 75 | + | 
 | 76 | +## ⚙시스템 아키텍처  | 
 | 77 | +  | 
62 | 78 | 
 
  | 
63 |  | -[MoSCoW 링크](https://www.notion.so/MoSCoW-4f7d9e241bc24e84ac7c8213ef1d2c85)  | 
 | 79 | +<br>  | 
64 | 80 | 
 
  | 
 | 81 | +## 🏗️설계  | 
65 | 82 | ### ERD 설계  | 
 | 83 | +  | 
 | 84 | + | 
 | 85 | + | 
 | 86 | +### 설계 문서  | 
 | 87 | +[🐄MoSCoW 구경가기](https://www.notion.so/MoSCoW-4f7d9e241bc24e84ac7c8213ef1d2c85)<br>  | 
 | 88 | +[🔍SURF API 설계 구경가기](https://www.notion.so/6785f7446eba4a0b82d384d025cb28a6)<br>  | 
 | 89 | +[📑Postman API 명세서](https://documenter.getpostman.com/view/15409285/UVRAJnUD#50ff4a3f-1d02-4f50-9870-9c0b22fa2a6f)<br>  | 
 | 90 | + | 
 | 91 | +<br>  | 
 | 92 | + | 
 | 93 | +## 🤳데모 화면  | 
 | 94 | +| **로그인** | **메인 화면** - Surf 첫 페이지 | **메인 화면** - 특정 category 선택 |  | 
 | 95 | +| :---: | :---: | :---: |  | 
 | 96 | +|  |  |  |  | 
66 | 97 | 
 
  | 
67 |  | -  | 
 | 98 | +| **게시글 작성** | **무한 스크롤** | **마이 페이지** - 내 정보 수정 |  | 
 | 99 | +| :---: | :---: | :---: |  | 
 | 100 | +|  |  |  |  | 
68 | 101 | 
 
  | 
69 |  | -## 🛠️ API 설계  | 
 | 102 | +| **대시보드** | **카드 페이지** | **카드 페이지** - 해당 월별 기록 리스트 |  | 
 | 103 | +| :---: | :---: | :---: |  | 
 | 104 | +|  |  |  |  | 
 | 105 | +| 마이 페이지에서 이동 | 연도별 필터링, 해당 달의 작성 일수 확인 가능 | 카드 선택시 |  | 
70 | 106 | 
 
  | 
71 |  | -[🔍SURF API 설계 구경가기](https://www.notion.so/6785f7446eba4a0b82d384d025cb28a6)  | 
 | 107 | +___  | 
72 | 108 | 
 
  | 
73 | 109 | ## 🌻프론트 깃 레포  | 
74 | 110 | 
 
  | 
75 |  | -[👨💻SURF Front Git Repo](https://github.com/prgrms-web-devcourse/Team_Ahpuh_Surf_FE)  | 
 | 111 | +[👨💻**SURF** Front Git Repository](https://github.com/prgrms-web-devcourse/Team_Ahpuh_Surf_FE)  | 
76 | 112 | 
 
  | 
77 | 113 | ## 🍁팀 노션  | 
78 | 114 | 
 
  | 
79 |  | -[🔍SURF 팀 노션 구경가기](https://www.notion.so/8-Ah-puh-Surf-ccc0a5922b8e4f638d6e897b4eb575a6)  | 
 | 115 | +[🔍**SURF** 팀 노션 구경가기](https://www.notion.so/8-Ah-puh-Surf-ccc0a5922b8e4f638d6e897b4eb575a6)  | 
0 commit comments