· 오늘 공부한 것

S.A (Starting Assignments) 작업

  • ERD 작성
  • API명세서 작성
  • 와이어 프레임

 

· 공부한 내용, 궁금한 내용, 부족한 내용

최종 프로젝트전 마지막 팀프로젝트는 Trello와 같은 업무 관리 시스템을 만들어 보는 것이다. 전에 이와 같은 것을 사용해 본 경험으로는 github 레포지토리에서 프로젝트를 생성해서 To do, In progress, Done 영역을 두고 카드를 만들어서 본 것이다. 카드 안에서는 체크리스트와 같은 것을 넣고 주어진 카드를 완료해서 프로젝트가 잘 진행될 수 있도록 사용을 하였다. 그래서 이번 프로젝트에서 보드를 만들고 그 안에 컬럼(To do, In progress, Done 등)을 만들고 그 안에 카드를 넣어서 업무를 관리한다. 그리고 권한에도 3가지를 설정을 하였다.

1. 해당 보드를 만든 유저 (총 관리자)

2. 해당 보드에 초대되어 카드를 만들 수 있는 유저 (매니저)

3. 해당 보드에 초대되어 카드를 부여 받은 유저 (일반 유저)

업무관리 시스템이기 때문에 매니저를 팀장으로 생각하고 일반 유저를 사원으로 보면 이해하기 쉽다. 그래서 권한에 따라 할 수 있는 기능이 정해져 있고 각 권한은 포함관계이기 때문에 일반유저가 할 수 있는 기능은 매니저도 할 수 있고 매니저가 할 수 있는 기능은 총 관리자도 할 수 있다. 이러한 것들을 생각하여 ERD 작성을 해보았다. 관계 설정을 할 때 팀원들과 많은 의논을 거쳤다.

팀프로젝트 ERD

특히 권한을 설정 할 때 중간 테이블을 생각은 했지만 처음에는 유저와 보드, 유저와 칼럼, 유저와 카드, 유저와 체크리스트 등 모두에 중간테이블을 생성해서 관리하려고 접근을 했다. 하지만 생각했을 때 비효율적이라고 판단하여 보드와 유저사이에 중간테이블을 두고 권한테이블을 따로 만들어서 관계설정을 해주었다. 이렇게 함으로써 해당 유저가 어떤 권한을 가졌는지 알 수 있고 그것에 따라 수행할 수 있는 기능을 제한할 수 있다고 판단했다. 또한 Issue를 발행해서 팀원끼리 이슈에 대해서 댓글로 소통할 수 있는 기능도 추가하였다.

그래서 필수적으로 구현할 기능은 다음과 같다.

  • 사용자
  • 권한 설정
  • 보드
  • 컬럼
  • 카드
  • 체크리스트
  • 업무 이슈

기능은 간단해 보이지만 각각에 CRUD와 관계까지 생각해 보면 구현할 부분이 많았다. 당장 준비단계에서 API명세서를 작성한 것만 봐도 꽤 많았다. 이후에도 팀원끼리 정해야 할 것이 많았다.

  • API 호출 시, 발생가능
    • 예외케이스
    • 상태코드
    •  
  •  build.gradle 설정
  •  DTO 를 어떻게 짤 건지
  •  반환 DTO??
  •  package 구성
  •  깃허브 브랜치 전략
  •  Test Config
  •  ( CI/CD 설정 )
  •  예외처리 ::
    • ENUM 처리할 건지
    • 커스텀 클래스를 팔건지

전 프로젝트 진행시 사전단계를 미흡하게 하고 진행했을 때 나중에 코드작업을 할 때 더 힘들다고 느꼈기 때문에 최종프로젝트 전 마지막 팀프로젝트이기 때문에 확실히 하고 진행하려고 팀원끼리 노력하였다. 그리고 내가 구현해야 할 부분은 체크리스트 부분이다.

내가 담당한 부분

 

· 오늘 서칭 한 자료

https://www.notion.so/API-Reference-5758b834b93243dd877d69cecb5175e1

 

API Reference | Built with Notion

Notion Tip: Use this page as an example of how you can structure your API Reference and host it on Notion. The Endpoints database also includes an endpoint template for further documentation.

vanillacake369.notion.site

 

 

· 느낀 점

- 사전준비에 확실히 하고 진행하니 든든한 느낌이 든다.

- 필수구현 기능을 빨리 구현하고 챌린지로 둔 것들도 구현해보고 싶다.

- 아직 이해하지 못하고 넘어간 부분이 있는데 코드작업하면서 복습도 확실히 하고 진행해야 할 거 같다. (이거 끝나면 최종프로젝트!!!!)

반응형

'Today I Learned' 카테고리의 다른 글

2023-12-28 TIL 업무 관리 시스템 팀프로젝트(3)  (0) 2023.12.29
2023-12-27 TIL 업무 관리 시스템 팀프로젝트(2)  (0) 2023.12.28
2023-12-21 TIL  (0) 2023.12.21
2023-12-11(BA클럽 KPT 회고)  (0) 2023.12.11
2023-12-07 TIL  (0) 2023.12.07

+ Recent posts