안녕하세요. 큰 그림 팀에서 이번 주 발표를 맡게 된 이승회입니다. 이번 주는 개발에 앞서 각자 개별 스터디와 환경 설정을 진행하였습니다.
저희 팀은 이번 주에 프론트엔드 폴더 구조화를 완료하였습니다. 여기 보이는 사진은 노션에 정리한 프론트엔드 폴더 구조입니다. 여러 라이브러리를 추가함에 있어 생긴 환경설정 파일들이 많았기에 최적화 및 config 폴더로 따로 분류하여 환경설정 파일들을 관리 및 유지보수 할 계획이며, 이미지와 폰트 등의 static 파일들을 별도로 관리하고, Zustand 상태 관리 함수, API 호출 로직, 유틸리티 함수, 테일윈드에 적용할 CSS 기본 설정도 각각 정리하였습니다.
백엔드와 같은 경우엔 스프링부트 기반 기초 환경설정을 완료했으며, AssertJ 및 회원기능에 사용할 라이브러리까지 추가했습니다. 폴더 구조화같은 경우엔 도메인 기반으로 진행할 생각이며, 세분화가 진행되는대로 문서화를 할 예정입니다. 저희가 이러한 구조화를 진행하게 된 이유가 몇 가지 있었는데요.
간단히 몇 개의 장점들을 소개해 드리자면, 먼저 코드의 가독성이 향상되어 목적과 흐름을 쉽게 파악할 수 있습니다. 특히 팀 프로젝트에서는 역할을 명확히 나누고, 코드 충돌을 최소화할 수 있어 협업 효율성이 극대화됩니다. 또한, 유지보수가 쉬워 기능을 추가하거나 수정하기가 용이합니다. 많은 기업 및 팀에서도 이러한 구조화를 기반으로 팀 프로젝트를 진행하며, 문서화를 통한 인수인계 등 많은 이점을 찾아볼 수 있었습니다.
이번 주는 개인 스터디의 막바지 단계였습니다. 백엔드와 같은 경우엔 스프링 부트 게시판 및 회원기능 강의 시청과 실습을 진행하며, 깃허브 환경 설정을 정리하였습니다. 그리고 프론트엔드는 기본적으로 웹 구현에 대한 지식이 있었기에 새로운 라이브러리를 사용해보고, 더욱 짜임새 있는 프로젝트로 만들기 위하여 상태관리 툴을 스터디 했는데요, Zustand라는 상태 관리 라이브러리를 선택했습니다. 사실 Recoil, Redux와 같은 많은 후보들이 있었는데요, 그 중 Zustand를 선택한 이유로는 간편하고 직관적인 상태 관리를 제공한다는 점이 가장 컸습니다(사실수현누나가제대로못배울거같았음. 맞긴해~쭈스땐드도 어려웡,,). Redux와 같은 경우엔 러닝 커브가 너무 컸으며, Recoil은 관련 자료가 적고 업데이트가 느리다는 점에서 최종적으로 Zustand를 선택하게 되었습니다.
또한, 이번주에는 간단한 회원 가입 기능을 구현하였습니다. 아직 초기 단계라 추가 및 수정이 필요한 부분이 남아 있습니다. 향후 아이디 찾기와 비밀번호 찾기 기능을 구현한 뒤, API를 활용한 소셜 로그인 기능도 추가할 계획입니다.
이상으로 발표를 마치겠습니다. 감사합니다.