구름(goorm) 풀스택 개발자 성장 과정 7회차 발구름 조의 Web IDE 프로젝트
개발 기간: 2024/6/28 ~ 2024/8/14
발구름 WEB IDE는 개발자들이 웹 환경에서 쉽게 코드를 작성하고 피드백을 받을 수 있도록 돕는 플랫폼입니다. 사용자 간의 협업 및 코드 리뷰를 촉진하기 위한 다양한 기능을 제공합니다.
-
회원 가입 및 로그인 기능
- 사용자는 계정을 생성하고 로그인할 수 있습니다.
-
코딩 퀴즈 제공 및 정답 확인 기능
- 다양한 코딩 퀴즈를 제공하여 사용자들이 코딩 실력을 향상시킬 수 있도록 지원합니다.
-
빠른 피드백을 위한 실시간 채팅 기능
- 실시간 채팅을 통해 사용자 간의 빠른 피드백이 가능합니다.
-
코드 리뷰를 위한 게시판 기능
- 작성된 코드를 공유하고 피드백을 받을 수 있는 게시판을 제공합니다.
-
코드 편집기 기능
- 웹 환경에서 코드 작성이 가능한 편집기를 제공합니다.
-
회원 간 랭킹 기능
- 사용자들의 활동에 따라 랭킹을 매기고, 이를 통해 경쟁심을 유발합니다.
역할 | 이름 | 담당 기능 |
---|---|---|
팀원 | 이현기 | 회원가입, 채팅 |
팀원 | 추민기 | Web IDE, 프론트엔드 배포 |
팀원 | 형성희 | 게시판 |
역할 | 이름 | 담당 기능 |
---|---|---|
팀장 | 김준영 | 회원가입, 게시판 |
팀원 | 이승현 | Web IDE, 퀴즈 기능, 백엔드 서버 배포 |
팀원 | 윤창기 | 실시간 채팅 기능 |
- Spring Boot: 백엔드 프레임워크
- MariaDB: 데이터베이스
- Redis: 캐시 서버
- Spring Security, OAuth2: 인증 및 권한 관리
- WebSocket: 실시간 채팅 기능 구현
- Docker, Kubernetes: 컨테이너화 및 오케스트레이션
- 저는 백엔드 개발자로서 로그인, 회원가입, 마이페이지, 관리자 페이지를 작성하고, 게시판 CRUD 기능을 개발했습니다.
Spring Security
와OAuth2
를 활용하여 로그인 및 회원가입 기능을 구현하고, 세션 관리를 통한 자동 로그인 기능을 추가했습니다.- 게시판 CRUD (생성, 조회, 수정, 삭제) 기능을 개발하여 사용자가 게시글을 자유롭게 관리할 수 있도록 지원했습니다.
- 댓글 기능과 좋아요 기능을 구현하여 사용자들이 게시물에 피드백을 제공하고, 상호작용을 할 수 있도록 했습니다.
- 팀원들과의 원활한 협업을 위해 백엔드의 CI/CD 파이프라인을 설정하고 배포를 관리했습니다.
- 개발 과정에서 일부 코드가 중복되어 코드의 길이가 불필요하게 길어졌습니다. 특히 날짜 정보를 처리하거나 기록을 관리하는 부분에서 중복되는 코드가 많아졌습니다.
- 파일 및 폴더의 구조가 명확하지 않아 다른 팀원이 코드를 이해하는 데 다소 어려움이 있었습니다.
- 프론트 팀원과의 소통이 부족하여 기능 개발 시 요구 사항을 명확히 파악하지 못해 개발 과정에서 어려움이 있었습니다.
- 반복적으로 작성되는 코드를 메소드 추출을 이용하여 해결하였습니다. 예를 들어, 날짜를 처리하는 반복적인 코드를 별도의 메소드로 추출하여 중복을 제거하고, 필요한 곳에서 해당 메소드를 호출하도록 개선했습니다. 이를 통해 코드의 재사용성을 높이고 가독성을 향상시켰습니다.
- 프로젝트 구조를 재정비하고, 각 파일의 이름을 기능에 맞게 수정하여 다른 팀원이 쉽게 이해할 수 있도록 개선하였습니다. 이를 통해 코드 유지보수성을 높이고 협업 효율을 향상시킬 것입니다.
- 프론트 팀원과의 소통 채널을 강화하고, 정기적인 회의 및 코드 리뷰 세션을 통해 요구 사항을 명확히 파악하여 개발 시 혼란을 줄이겠습니다.