Masterpiece/스타트업 업무 F

[F] Comment (Back-End)

탱탱규탱 2022. 1. 26. 16:40

안녕하세요! 탱탱규탱입니다.

 

이번 글은 Comment의 Back-End 소개입니다.

 

[개발자]

- 혼자! 도전!

- Super Junior Full Stack

 

[Back-End]

- Fastapi

- MongoDB

 

[배포]

- Serverless로 AWS Lambda에 배포했습니다 :)

 

[Fastapi]

- 서버 설명을 어떻게 해야는지 잘 모르겠어요 :)

 

- 알림톡 전송

  고객님께서 체험해주시고 일정 시간 이후!

  알림톡을 전송해드립니다!

 

  저희는 나름 MSA입니다 :)

  체험하신 고객님의 정보를 호출해와서 필요한 정보만 쏙쏙 골라서 저장, 업데이트하도록 했습니다 :)

 

  고객님의 정보에서 없는 경우만!

  user, kiosk, product 이 3가지 DB Collection이 업데이트 됩니다 :)

  

- 페이지 연결 (Jinja2)

  웹 접속을 2가지로 분리하도록 했습니다.

  1. 정말 체험한 고객님 링크

  2. 페이지 결과만 볼 수 있는 링크

 

- Main Page

  전 Front-End가 최대한 편하게 그리고 효율적이게 할 수 있도록 API Response를 만듭니다!

  한 API에 Front-End가 정말 필요한 정보를 정리해서 보내주도록 노력했습니다.

 

  예전에는 한 기능에 대해서만 한개의 API를 만들었습니다.

  이렇게 될 경우.. 너무 많은 API 호출로 인해! 서버도 힘들고~ 웹도 힘들고~

  이를 해소하는 방법으로 GraphQL이 있다고 하는 데.. 다음에 도전!!

 

- User

   고객 정보 및 별점 여부 확인!

   고객 댓글 정보 저장!

 

- Comment

   여기가 핵심!

   댓글 가져오기!

   댓글과 대댓글 저장!

   좋아요! 싫어요!

   댓글 저장이 이루어지면 사내 메신저(Mattermost)로 Incomming Webhook을 사용해서 전직원이 인지할 수 있도록 했습니다!!

   전 실시간으로 결과를 볼 수 있도록 하는 환경이 제일 중요하다고 항상 생각한 답니다 :)

 

 

[MongoDB]

- 솔찍히 Server 코드 만드는 거는 정말 아무 일도 아닙니다...

- DB 설계가 제일 제일 제일! 중요하다고 생각됩니다.

- DB에 따라서 API 기능과 호출 회수가 결정된다고 저는 감히 판단합니다!!!

 

- Collection은 총 4개로 구성되었습니다.

- user, product, comment, kiosk

 

- MongoDB를 사용하면서 Array를 만이 사용합니다..

- 이렇게 사용하는 게 맞는 걸까요??

 

 

[결과]

지금까지도 훌륭하게 정상 작동 중 입니다!

제가 만드는 Back-End는 진짜 아무것도.. 아닌 것 같아요 :(

빨리 더 큰 DB 설계해보고 싶습니다!!

 

얼른 직접 들어가셔서 한번 보세요 :)

꿀빠는 시간 체스트넛진저

젠틀 포밍 클랜저 샘플

 

끝까지 읽어주셔서 감사합니다!!