✅ 스위프란?
- 기획자, 디자이너, 개발자가 모여서 프로젝트를 완성하는 6주 단기 웹 프로젝트이다.
- 스위프에서는 기본적인 가이드라인과 매주 정기회의, 호스팅, 커뮤니티 서비스를 지원해준다.
😍 내가 만든 웹 서비스, meView
✅ meView 란 무엇인가
- 어떤 서비스인가요??
- 지인의 리뷰로 나를 알아보는 강약점 발굴 서비스입니다 !!
- 언제 사용하나요??
- 프로젝트가 끝났을 때, 취업할 때, 자기소개서 작성할 때 등등…
- 내가 어떤 강점이 있고, 약점이 있는지를 알 수 있고, 프로젝트에서 나의 모습, 친구들에게 나의 모습,
회사에서의 나의 모습 등을 주변 지인이나 팀원들에게 피드백 받고,
나를 알아갈 수 있는 기회를 제공합니다 !!
- 어떻게 사용하나요??
- 어떤 주제에 대해서 리뷰를 받고 싶은지, 어떤 대상에게 받고 싶은지 등등을 정하고, 답변을 작성할 수
있도록 링크를 전달한다. 링크를 받은 사람은 링크를 통해 답변을 작성합니다.
- 질문자는 받은 답변을 모아볼 수 있고, 나의 강약점을 능력과 연결지어서 볼 수 있습니다.
- 팀은 어떻게 이루었나요??
- 기획자 1 / 디자이너 1 / 프론트개발 2 / 백엔드개발 2
- 내가 맡은 역할
- Back-End API 개발 & 클라우드 서버, DB 구축 및 배포
- 다른 팀원분들과 의사소통, 협업 담당
✅ 프로젝트는 어떤 구조인가
- Front-End: React 를 활용해 웹 서비스를 만들었고, vercel 을 통해서 배포했습니다.
- Back-End: Nestjs 를 활용해 웹 서버를 구축했고, AWS 를 활용해 배포했습니다.
- 이번 프로젝트를 통해 배운 점
- Nestjs 프레임워크에 대한 전반적인 이해와 API 작성했습니다.
- decorator, filter, interceptor, guard… 등등에 대한 사용법을 익혔습니다.
- prisma-postgresql 을 사용하여 relation 관계와 다대다 관계를 해결했습니다.
- AWS EC2, RDS, S3 를 구축하며 인바운딩, 아웃바운딩 등 AWS 서비스를 직접 설정하며 사용법을 익혔다.
✅ 어떤 API 가 필요했나
- 총 19개의 API 를 작성했고, Get, Post, Put 요청에 대한 API 를 작성하였습니다.
- URL 과 Parameter, return type 등을 노션과 Postman 을 이용해 프론트엔드와 협업하였습니다.
- 로그인과 답변 작성을 제외한 나머지 API 는 Guard 를 이용해 로그인 상태를 검사했습니다.
ERD 는 어떻게 작성했나
- 여러 테이블과 각 relation 을 설정했고, 다대다 관계를 연결테이블인 Review 를 생성해 해결했습니다.
- ORM 은 Prisma 를 사용해서 N+1 문제가 발생하지 않았습니다.
후기: 좋았던 점 & 아쉬운 점에 대해서
좋았던 점
- typescript 를 사용해보았고, 협업할 때 javascript보다 강한 장점이 있다는 것을 알았다.
- 인터페이스, 데코레이터, 필터, 가드 등등을 사용해 더욱 견고하고, 내가 원하는 시퀀스대로 API 를
작성할 수 있었다.
- 기존 Node 만 사용했을 때 자유도가 높은 탓에 오히려 내가 하는 방식이 맞는지를 고민했었는데,
Nest 는 자유도 대신 규칙이 존재하였고, life cycle 이 가이드라인을 어느정도 잡아주는 느낌이라
사용하기 편리했다.
- prisma 를 사용하여 db 에 변경사항을 반영하거나, db 의 내용을 prisma 모델로 변경하기도 편헀고,
relation 을 설정하고, 어떤 속성이 있는지, 어떤 타입인지를 알 수 있어서 좋았다.
아쉬웠던 점
- authority 에 따라서 Admin 과 일반 User 를 구분하여 서버에서 사용할 수 있는 API 를 구분하고 싶었지만,
시간이 부족한 탓에 Admin 페이지를 따로 만들지 못해서, Role 을 따로 나누지 않았다.
다음 프로젝트에서는 admin 과 user 를 구분하여 적용하고 싶다.
- 프로젝트를 시작할 때 CI/CD 와 cloud DB, server 를 일단 세팅해놓고 시작했다면, 프론트엔드와 연동하는 과정에서 더욱 수월했을 것 같다. 또한 API 를 작성할 때도 Parameter 와 Response 에 더미 데이터를 넣고 시작했다면 더욱 좋았을 것 같다.
→ Postman 과 Notion 을 통해 Parameter, Response Format 을 정하고 했음
스위프, 추천할만한가 ?
🤩🤩🤩🤩🤩🤩🤩
네네네네네네네
무조건 하세요!!!
물론 조금 힘들고, 지칠 수도 있지만 나에게 할 여유가 있다?
무조건 하세요!!!