HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🏄‍♂️
[팀8] 어푸(Ah puh) - Surf
/
📘
백엔드 회의록
/
README 수정본

README 수정본

내 인생 성장곡선 사이트 - Surf. 🏄🏻‍♂️

notion image
인생은 surfing 을 타는 것처럼 즐겁지만, suffering 또한 피할 수 없다.
피할 수 없다면 기록하고 공유하자! Surf 를 통해 🌊🏄‍♀️🏄🏄🏻‍♂️
Surf.의 백엔드 레포입니다 😊

👨‍💻팀원 소개

최승은
박수빈
박정미
전효희
(사진)
ㅤ
ㅤ
ㅤ
팀장, 개발자
스크럼 마스터, 개발자
개발자
개발자
 

📍프로젝트 목표 및 상세 설명

열심히 달려온 나 자신! 열심히는 하고 있는데 내가 얼마나 발전했는지 기록하는 공간은 없을까? 그냥 일기는 메모장에라도 적을 수 있고, 블로그는 이미 무수히 존재하고, 색다른 방법으로 동기부여 받고 기록하고 공유하는 그런 공간이 필요해! 🙆‍♀️
  • 성장곡선으로 한눈에 내 인생을 돌아보기
  • 남들의 성장곡선을 보며 동기부여도 받기
  • 곡선의 특정 구간마다 기록도 남기기
  • 곡선이 아닌 기록들만 모아서 보기
  • 필요하다면 포트폴리오로도 사용 가능하기
 

🛠️개발 언어 및 활용 기술

개발 환경
  • Springboot 로 웹 어플리케이션 서버를 구축했어요.
  • 빌드도구는 Gradle을 사용했어요.
  • 다양한 기능과 안정성을 위해 LTS 버전인 Java 17 버전을 사용했어요.
  • Spring Data JPA(Hibernate) 로 객체 지향 데이터 로직을 작성했어요.
  • QueryDSL 로 컴파일 시점에 SQL 오류를 감지해요. JPA 인터페이스로 해결하기 힘든 동적이고 복잡한 query를 보완하고 더 가독성 높은 코드를 작성할 수 있어요.
  • 데이터베이스는 MySQL을 사용했어요.
 
Infrastructure
  • AWS EC2를 사용해 서버를 구축했어요.
  • S3 로 파일을 업로드하고 보관해요.
 
협업 관리
  • Github Issue 으로 이슈를 관리해요.
  • Git-flow 전략을 사용하여 브랜치를 관리해요.
  • Slack / Gather / Notion 으로 소통해요.
  • Postman 으로 작성한 API 문서를 통해 클라이언트와 소통해요.
 
CI/CD
  • Github Actions 로 코드 퀄리티와 테스트를 검사해요.
  • Jenkins 로 백엔드 코드의 지속적인 배포를 진행해요.
  • Codacy 로 지속적인 코드 퀄리티 개선을 진행해요.
  • JACOCO 로 테스트 커버리지를 검사해요.
 
Security
  • Spring Security 를 사용했어요.
  • 로그인 시에는 JWT 토큰을 발행하여 서버의 별도 저장소 없이 로그인을 유지할 수 있어요.
  • CertBot 으로 Let’s Encrypt SSL 인증서를 발급받았어요.
  • Nginx 가 프록시로 8080 포트를 바라보게 설정했어요.
 

⚙시스템 아키텍처

notion image
 
 

🏗️설계

ERD 설계

notion image
 

설계 문서

🐄MoSCoW 구경가기
🔍SURF API 설계 구경가기
📑Postman API 명세서
 
 

🤳데모 화면

로그인
메인 화면 - Surf 첫 페이지
메인 화면 - 특정 category 선택
(gif)
ㅤ
ㅤ
게시글 작성
무한 스크롤
마이 페이지 - 내 정보 수정
(gif)
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
대시보드
카드 페이지
카드 페이지 - 해당 월별 기록 페이지
(gif)
ㅤ
ㅤ
마이 페이지에서 이동
연도별 필터링, 해당 달의 작성 일수 확인 가능
카드 선택 시
 

🌻프론트 깃 레포

👨‍💻SURF Front Git Repository

🍁팀 노션

🔍SURF 팀 노션 구경가기