Open developerOlive opened 3 years ago
안녕하세요, 트레이너님!
아무것도 없는 도화지에 처음부터 제가 그려나가는 프로젝트를 처음으로 진행해 보는데요, 부담이 많이 되네요.ㅠㅠ
어떤 프로젝트를 기획하고 있는지 파악하실 수 있도록 간단히 화면 구성 이미지 + REST API 예시 문서 + 데이터 테이블 예시를 위와 같이 작성해 보았습니다.
REST API 같은 경우 예외처리는 404만 해두었는데, 아직 어떤 예외상황이 발생할 지 다 가늠이 안 되어 404만 작성해둔 점 참고 부탁 드립니다.
혹시 작성한 문서나 데이터 테이블 중에서 애매한 부분이 있거나 아니면 더 나은 방향을 제시해주실 부분이 있다면 피드백 부탁 드립니다!
계획이 굉장히 상세해서 좋습니다. 먼저 배포를 하는 것도 굉장히 좋습니다. 다른 사람과의 협업을 생각해서 문서를 만드는 것도 굉장히 좋습니다
다만 회원가입처럼 부가적인 기능 때문에 진짜 중요한 기능을 만들지 못할까 걱정이 됩니다. 이번주에 사용자가 무엇을 할 수 있을지를 먼저 작성해보세요. 그리고 그 사용자 경험을 위해서 설계를 해보세요. 그러면 우선순위가 달라질거에요
DB관계도 마찬가지입니다. 객체와의 협력 보다 먼저 데이터를 설계하면, 데이터 중심적인 설계가 될 확률이 굉장히 높습니다.
와 상당히 규모가 큰 프로젝트 같습니다. 그럴 일이 없었으면 좋겠지만 혹 완성을 할 수 없는 상황이 되면 소연님이 가장 재미있을 거라 생각했던 핵심 부분만이라도 완성할 수 있으면 좋겠어요.
시간이 너무 빠른 것 같습니다. 어느덧 프로젝트 2주차에 접어들었네요! 저는 issues와 pull request를 다음과 같이 작업할 예정입니다. @JohnGrib
프로젝트 계획에 관한 issues를 주차마다 따로 작성하지 않고 이 issues에 계속 쌓아갈 예정입니다. 흐름을 파악하기에는 이 방법이 더 낫다고 생각했기 때문입니다! (물론 사람마다 관점이 다를 수 있겠지만요.ㅎㅎ)
동기 분들 중에는 하나의 pr에 여러 기능 커밋을 쌓아가시는 경우도 있고, (저희가 각 주차마다 과제를 진행했던 것 처럼요!) 아니면 작업단위를 pr로 구분해서 날리시는 분도 있으실텐데요. 저는 윤석 트레이너님과 대화한 결과 후자로 진행하기로 하였습니다. 그런데 pr을 여러 개 날리려면 앞서 날린 pr이 머지가 되어야 커밋이 구분되더라고요. (아래 이미지 참고)
그래서 기능 구현 단위로 여러 개 pr을 날리기 위해 제가 임의로 머지를 하게 될 것 같습니다. close된 pr에 피드백 주시면 확인하도록 하겠습니다!
📌 2주차가 지나면 사용자는 무엇을 할 수 있나요?
🤓 bare-minimum
🤜🏻 advanced
📌 2주차에 구현할 기능을 우선 순위대로 작성해 주세요.
[x] '오늘의 운세' 타로카드 결과를 mariadb에 세팅합니다.
[x] 프론트엔드 개발자, 디자이너와 협업하여 캣봇과 대화하는 채팅창 포맷을 완성합니다.
[x] 사용자가 카드를 선택하면 그 카드에 맞는 결과를 보여주는 기능을 완성합니다.
[x] cardController와 cardService에 대한 테스트 코드를 작성합니다.
[x] 회원가입, 수정 기능을 구현합니다.
[x] 회원가입, 수정 기능에 대한 테스트 코드를 작성합니다. (UserServiceTest, userControllerTest)
https://github.com/CodeSoom/project-spring-1-developerOlive/issues/1#issuecomment-809327111
사용자가 '오늘의 타로' 메뉴에 들어가, 카드를 고른 후 그 결과를 확인하는 기능
이 가장 메인 기능이 될 것 같습니다.
그에 대한 테스트코드도 작성 해야할 거구요!
보관함을 이용하기 위한 회원가입이 서브 기능이 될 것 같아요. 회원가입/로그인 기능을 구현할 때 jwt 토큰이라던지 security 등... 코드숨에서 배운 것을 적용해야 하기 때문에 까다로울 것 같네요..ㅎㅎㅠㅠ
일단 2주차에는 메인 기능 완성에 초점을 두고 진행하겠습니다!
현재까지 구현한 부분을 동영상으로 담았습니다.
현재까지 구현한 부분을 동영상으로 담았습니다.
와 화면이 멋있네요. 잘 봤습니다.
현재까지 구현한 부분을 동영상으로 담았습니다.
와 화면이 멋있네요. 잘 봤습니다.
감사합니다 ㅠㅠ! 채팅창 디자인은 조금 더 손볼 예정이에요!
현재 프론트엔드와 api를 통한 회원가입 기능 테스트는 마쳤는데.. 로그인 기능에 JWT 토큰 기능과 Security 기능을 넣고 테스트하는데 시간이 좀 소요될 수 있을 것 같아요!
와 ㅎㅎ 카드 움직이는거 신기하네요
📌 3주차가 지나면 사용자는 무엇을 할 수 있나요?
🤓 bare-minimum
[x] 메인화면을 이용할 수 있습니다.
[x] 회원 가입, 로그인을 할 수 있습니다.
🤜🏻 advanced
📌 3주차에 구현할 기능을 우선 순위대로 작성해 주세요.
[x] JWT토큰 기능을 구현합니다.
[x] JWT토큰 관련 테스트 코드를 작성합니다.
[x] Security 기능을 구현합니다. (가입 시 패스워드 암호화 하여 저장)
[x] Security 관련 테스트 코드를 작성합니다.
[x] 로그인 기능을 구현합니다.
[x] 프론트엔드 개발자와 협업하여 회원가입 화면+기능 테스트를 진행합니다.
[x] 프론트엔드 개발자와 협업하여 로그인 화면+기능 테스트를 진행합니다.
[x] 디자이너+프론트엔드 개발자와 협업하여 메인 화면을 완료합니다.
[x] 보관함 기능을 구현합니다.
📌 4주차가 지나면 사용자는 무엇을 할 수 있나요?
[x] '썸 타로' 메뉴를 누르면 채팅창이 시작되고, 본인이 선택한 카드에 대한 결과를 확인할 수 있습니다.
[x] 로그인 후 타로카드 보관함 기능을 사용할 수 있습니다.
📌 4주차에 구현할 기능을 우선 순위대로 작성해 주세요.
[x] '썸 타로' 카드 결과를 정리하여 mariadb에 세팅합니다.
[x] 보관함 기능이 db와 연결되는지 테스트 합니다.
[x] 보관함 관련 테스트 코드를 작성합니다.
[x] 프론트엔드 개발자와 협업하여 보관함 기능 테스트를 진행합니다. (타로카드 저장, 삭제)
[x] 회원 닉네임, 비밀번호 수정 기능을 구현합니다.
[x] EC2 IP를 도메인에 연결합니다.
📌 이 앱을 언제 사용하나요?
타로카드
를 이용해오늘의 운세
또는썸 관계에 있는 사람과 앞으로 잘 될 수 있을지
알고 싶을 때 사용합니다.📌 구체적인 사례는 무엇인가요? 사용자가
오늘의 운세
를 알고 싶다고 가정해 보겠습니다.[1주차]
📌 1주차가 지나면 사용자는 무엇을 할 수 있나요?
📌 1주차에 구현할 기능을 우선 순위대로 작성해 주세요.
[x] docker를 이용하여 AWS EC2를 통해 배포 먼저 하기 (다른 프론트엔드 개발자와 협업을 하기 때문에 배포를 먼저 시작합니다.)
[x] 프로젝트에 사용될 REST API 목록 작성 (REST API 초안이며, 실질적으로 프로젝트를 진행하면서 수정/보완할 예정입니다.) https://developerolive.gitbook.io/city-cat-tarot-api/city-cat-tarot
[x] dbdiagram을 미리 작성해보기 (초안이며, 실질적으로 프로젝트를 진행하면서 수정될 수 있습니다. 수정한 경우 다시 업데이트 해두겠습니다.)
[x] 타로카드 이미지 22장 - aws s3 이용하여 url형태로 퍼블릭 액세스 처리
[x] mariadb에 타로카드 테스트용 데이터를 먼저 넣은 후, aws 퍼블릭 ip로 조회 가능한 지 확인