codestates / codestates/Reciper-server
[✍️ Dev Log] 정송이 / 2021-05-19
- Dominant language
- TypeScript
- Stars
- 9
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
### 오늘은 어떻게 프로젝트에 기여했나요?
- landing 페이지 디자인할 때 참고할 만한 image, illustration 검색
- #64 route path 수정(오타, dot 삭제)
- #88 `post /project` 요청 처리 로직 작성
- 프로젝트 생성
- 데이터베이스에 name, projectURL 저장
- 이때, projectURL이 중복되는 값인지 확인(`unique: true`)
- 프로젝트 생성할 때 projectColor 데이터 랜덤으로 생성
- #65 projectColor 필드 추가
- #89 `post /project/:projectURL` 요청 처리 로직 작성
- 프로젝트 수정
- name, projectURL에 수정된 값 저장
- 이때에도 projectURL이 중복되는 값인지 확인
- #90 `delete /project/:projectURL` 요청 처리 로직 작성
- 프로젝트 삭제
- 프로젝트 삭제시, members 테이블에 연결된 유저 데이터도 삭제
- #94 `post /projectInvite/:projectURL` 요청 처리 로직 작성
- 팀원 초대
- 여러명을 초대할 수 있다(클라이언트에서 배열로 초대할 이메일 주소 목록을 받음)
- nodemailer를 사용하여 이메일로 초대 메일을 보냄
- AuthorizationCode의 유효기간을 7일로 설정
- 초대 메일 형식+디자인을 html로 제작
- #95 `post /projectParticipate` 요청 처리 로직 작성
- 팀원 초대 응답(프로젝트 참가)
- 응답한 팀원이 초대 리스트에 있는지 확인
- AuthrizationCode를 확인하여 유효한 초대인지 확인
- 방금 초대된 팀원을 members 테이블에 저장
- #37 API 문서 점검 및 보완
- project 기능 관련 API 작성
- example 업데이트
### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
- 오늘은 크게 힘든 점은 없었다.
- 굳이 하나를 뽑자면 nodemailer를 사용하기 위해서는 html이 필요한데, 이 부분을 디자인할 때 스타일 적용에서 시간이 오래 걸렸다.
그리고 button에 hover 효과를 주고 싶어서 방법을 찾아보다가 결국 따로 `` 태그를 추가하였다.
```html
<style>
.btn-grad {
background-image: linear-gradient(to right, #00d2ff 0%, #3a7bd5 51%, #00d2ff 100%);
margin: 10px;
padding: 15px 45px;
text-align: center;
text-transform: uppercase;
transition: 0.5s;
background-size: 200% auto;
color: white;
box-shadow: 0 0 20px #eee;
border-radius: 10px;
display: block;
}
.btn-grad:hover {
background-position: right center;
color: #fff;
text-decoration: none;
}
Accept Invitation
```
### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- [x] 클라이언트와 함께 profile, recruit 관련 요청 로직 테스트
- [x] project 관련 요청 로직 테스트 및 수정&보완
- [x] workspace 요청 로직 구현 시작
- [x] middleware - memberChecker 구현
- [x] socket.io를 사용하여 chat(채팅방) 구현
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.