Skip to content

junyoungkim12/Balgoorm_BackEnd

 
 

Repository files navigation

발구름 WEB IDE - 백엔드

banner


구름(goorm) 풀스택 개발자 성장 과정 7회차 발구름 조의 Web IDE 프로젝트

개발 기간: 2024/6/28 ~ 2024/8/14

프로젝트 소개

발구름 WEB IDE는 개발자들이 웹 환경에서 쉽게 코드를 작성하고 피드백을 받을 수 있도록 돕는 플랫폼입니다. 사용자 간의 협업 및 코드 리뷰를 촉진하기 위한 다양한 기능을 제공합니다.

주요 기능

  1. 회원 가입 및 로그인 기능

    • 사용자는 계정을 생성하고 로그인할 수 있습니다.
  2. 코딩 퀴즈 제공 및 정답 확인 기능

    • 다양한 코딩 퀴즈를 제공하여 사용자들이 코딩 실력을 향상시킬 수 있도록 지원합니다.
  3. 빠른 피드백을 위한 실시간 채팅 기능

    • 실시간 채팅을 통해 사용자 간의 빠른 피드백이 가능합니다.
  4. 코드 리뷰를 위한 게시판 기능

    • 작성된 코드를 공유하고 피드백을 받을 수 있는 게시판을 제공합니다.
  5. 코드 편집기 기능

    • 웹 환경에서 코드 작성이 가능한 편집기를 제공합니다.

아키텍처

Service Architecture

ERD

ERD

🎨 Frontend Members

역할 이름 담당 기능
팀원 이현기 회원가입, 채팅
팀원 추민기 Web IDE, 프론트엔드 배포
팀원 형성희 게시판

🛠 Backend Members

역할 이름 담당 기능
팀장 김준영 회원가입, 게시판
팀원 이승현 Web IDE, 퀴즈 기능, 백엔드 서버 배포
팀원 윤창기 실시간 채팅 기능

배포 주소

🔗 발구름 WEB IDE ⚠️(2024년부터 배포가 중단되었습니다.)

백엔드 주요 기술 스택

  • Spring Boot: 백엔드 프레임워크
  • MariaDB: 데이터베이스
  • Redis: 캐시 서버
  • Spring Security: 인증 및 권한 관리
  • WebSocket: 실시간 채팅 기능 구현
  • Docker, Kubernetes: 컨테이너화 및 오케스트레이션

나의 역할

  • 저는 백엔드 개발자로서 로그인, 회원가입, 마이페이지, 관리자 페이지를 작성하고, 게시판 CRUD 기능을 개발했습니다.
  • Spring Security를 활용하여 로그인 및 회원가입 기능을 구현하고 세션 기반 로그인 유지 기능을 추가했습니다.
  • 게시판 CRUD (생성, 조회, 수정, 삭제) 기능을 개발하여 사용자가 게시글을 자유롭게 관리할 수 있도록 지원했습니다.
  • 댓글 기능좋아요 기능을 구현하여 사용자들이 게시물에 피드백을 제공하고, 상호작용을 할 수 있도록 했습니다.
  • 팀원들과의 원활한 협업을 위해 백엔드의 CI/CD 파이프라인을 설정하고 배포를 관리했습니다.

아쉬운 점, 개선 방안

개발 과정에서 느낀 점과 개선방안

아쉬운 점

  • 반복/중복 코드 많았음 (특히 날짜/기록 등)
  • 폴더/파일 구조 초기에 불명확
  • 프론트와 소통 부족으로 요구사항 미스 발생

개선방안

  • 중복 코드 메소드 추출로 개선 (리팩토링)
  • 폴더 구조, 네이밍 명확화
  • 정기 소통/코드리뷰로 협업 효율 개선

🧹 나의 코드 리팩토링 경험

  • JPA 엔티티 실무 표준 리팩토링

    • @Data 대신 @Getter, 필요한 곳만 @Setter 적용
    • 생성일 필드는 @PrePersist로 자동화
    • 컬렉션 초기화 및 양방향 연관관계 편의 메서드 도입
  • 서비스/컨트롤러 코드 표준화

    • JPA Dirty Checking을 활용하여 불필요한 save() 호출 제거
    • 엔드포인트마다 ResponseEntity를 적용해 일관된 HTTP 응답 구조 구현
  • 예외 처리 및 메시지 일원화

    • Exception 메시지 한글 통일 및 커스텀 Exception 활용
  • 유지보수성·테스트성 강화

    • 메서드 단위 책임 분리, 중복 코드 제거

실무와 협업에 맞는 코드 구조로 가독성, 유지보수성, 효율성을 개선했습니다.


About

1차 프로젝트 발구름 팀의 백엔드 소스 코드 입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 98.1%
  • Dockerfile 1.4%
  • Shell 0.5%