구름(goorm) 풀스택 개발자 성장 과정 7회차 발구름 조의 Web IDE 프로젝트
개발 기간: 2024/6/28 ~ 2024/8/14
발구름 WEB IDE는 개발자들이 웹 환경에서 쉽게 코드를 작성하고 피드백을 받을 수 있도록 돕는 플랫폼입니다. 사용자 간의 협업 및 코드 리뷰를 촉진하기 위한 다양한 기능을 제공합니다.
-
회원 가입 및 로그인 기능
- 사용자는 계정을 생성하고 로그인할 수 있습니다.
-
코딩 퀴즈 제공 및 정답 확인 기능
- 다양한 코딩 퀴즈를 제공하여 사용자들이 코딩 실력을 향상시킬 수 있도록 지원합니다.
-
빠른 피드백을 위한 실시간 채팅 기능
- 실시간 채팅을 통해 사용자 간의 빠른 피드백이 가능합니다.
-
코드 리뷰를 위한 게시판 기능
- 작성된 코드를 공유하고 피드백을 받을 수 있는 게시판을 제공합니다.
-
코드 편집기 기능
- 웹 환경에서 코드 작성이 가능한 편집기를 제공합니다.
| 역할 | 이름 | 담당 기능 |
|---|---|---|
| 팀원 | 이현기 | 회원가입, 채팅 |
| 팀원 | 추민기 | Web IDE, 프론트엔드 배포 |
| 팀원 | 형성희 | 게시판 |
| 역할 | 이름 | 담당 기능 |
|---|---|---|
| 팀장 | 김준영 | 회원가입, 게시판 |
| 팀원 | 이승현 | Web IDE, 퀴즈 기능, 백엔드 서버 배포 |
| 팀원 | 윤창기 | 실시간 채팅 기능 |
🔗 발구름 WEB IDE
- 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 활용
-
유지보수성·테스트성 강화
- 메서드 단위 책임 분리, 중복 코드 제거
실무와 협업에 맞는 코드 구조로 가독성, 유지보수성, 효율성을 개선했습니다.


