스파르타 코딩클럽_ 내일 배움 캠프 Spring 트랙 6기
[프로젝트] 개발자를 위한 공모전 사이트 (&&)
2023.08.16 ~ 2023.09.15
<프로젝트 정보>
개발도구 : IntelliJ
프로그래밍 언어 : Java
데이터베이스 : MySQL
프레임워크 : Spring / Spring Boot / Spring Security
와이어프레임 : Figma
ERD 설계 : ERD Cloud
Storage : AWS S3
Front : HTML / CSS / JavaScript / JQuery / Bootstrap
<프로젝트 내용>
팀원들과 1일 1코드리뷰 중이다.
전날 OAuth 로그인 회원가입 구현을 완성하고 팀원분이 카테고리 구현에 난항을 겪고 계셔서 부리더로서(?) 함께 구현해보기로 했다.
일단 팀원분이 구현해야하는 카테고리 영역의 경우 관리자만이 카테고리를 추가, 수정, 삭제가 가능해야하는데,
권한을 부여하는 과정에서 어려움을 겪고 계셨다.
그래서 일단은 권한 생각을 하지 말고 카테고리를 추가, 수정, 삭제 기능에만 집중하기로 하고, 팀원분이 주도적으로 CRUD 를 구현할 수 있도록 도운 뒤 권한을 어떻게 부여할 것인지를 안건으로 정하고 팀원들과 미팅을 했다.
신고글이나 카테고리 관리, 공모전 등록을 전부 어드민이 할 수 있는 서비스이기 때문에 결론적으로는 유저 서비스와 별개로 백오피스용 페이지를 분리하기로 결정했다.
[백오피스용 페이지 요구 사항]
백오피스를 어떻게 접근할 것인가?
URL은 일반 유저에게 노출되지 않도록하고 개발 당시 초기데이터로 슈퍼관리자에 대한 DB를 직접 밀어넣는 방향으로 개발
-> DB를 직접 insert 해도 무관할까 싶어서 튜터님께 여쭤 본 결과 초기데이터는 가능하지만 대유저서비스 런칭 이후에는 진짜 절대 금지라고 하셨다.
-> 백오피스 내 회원가입 기능은 제공하지 않음
-> 이후 새로운 관리자는 백오피스 내에서 슈퍼 관리자가 CRUD 할 수 있도록 권한을 부여
-> **URL 초대 기능 구현, email 초대 발신 기능 구현도 할 수 있으면 해보기로 했다.**
※ 새로 알게 된 사실 : 방법은 잘 모르겠으나 카카오나 구글 로그인처럼 OAuth 로그인을 한 경우에도 권한을 줄 수 있다는 사실....(문화충격!)
DB를 분리해서 사용해야하나?
튜터님께 여쭤 본 결과 유저 서비스와는 DB를 공유하여 사용하고 API 명세만 새로 분리해서 구성하는 방법을 추천해주셨다.
-> API 명세는 기존 유저 서비스 API 명세에 /admin 추가
-> 그러나 프로젝트를 새로 생성해서 구현할 필요 있음
그래서 백오피스 기능은 어떤 걸 구현할 것 인가?
신고된 게시글 목록화, 전체 게시글 목록화, 전체 댓글 목록화, 카테고리 CRUD, 관리자 CRUD
- 결정 사항:
- 필수: **슈퍼 관리자를 생성한 후, 슈퍼 관리자가 새로운 관리자를 생성/수정/삭제하는 구조**
- 필수: 새로 프로젝트를 파서 시작해야 함
- 백오피스용 기능 결정 : 신고된 게시글 목록화, 전체 게시글 목록화, 전체 댓글 목록화, 카테고리 CRUD, 관리자 CRUD
내일 팀원들과 백오피스 구현 기능을 나누고 구현을 시작 할 예정이다.
'🏕️내일배움캠프 > 📂개발자를 위한 공모전 사이트(23.08.16)' 카테고리의 다른 글
개발자를 위한 공모전 사이트 (&&) 6일 _ 실시간 상태 업데이트/하위 카테고리 구현 (0) | 2023.08.23 |
---|---|
개발자를 위한 공모전 사이트 (&&) 5일 _ 백오피스 프로젝트 구현 (0) | 2023.08.22 |
개발자를 위한 공모전 사이트 (&&) 4일 _ 백오피스 프로젝트 구현 (0) | 2023.08.21 |
개발자를 위한 공모전 사이트 (&&) 2일 _ OAuth 카카오, 구글 로그인 구현 (0) | 2023.08.17 |
개발자를 위한 공모전 사이트 (&&) 1일 _ S.A. / ERD / API 명세 / 와이어프레임 및 기술구현 상세 (0) | 2023.08.16 |