카카오톡 알림톡 API 모듈 만들기 - 01 서론 및 요구사항, 개발 순서 정리

Joshua_Kim·2021년 8월 3일
6
post-thumbnail

🌱 서론

  • 회사에서 맡았던 작은 프로젝트를 무사히 AWS 개발서버에 deploy를 마쳤다.
    첫 실무과제를 무사히 마친 나에게 박수 👏 (사실 팀장님 없었음 못했다)
    (실무과제 관련 개발 log 👉🏻 JPA를 사용한 카테고리 구현 시리즈)

  • 무튼, 첫 실무 프로젝트 과제를 마치고나서 주어진 두번째 직무는 우리 서비스에 카카오톡 알림톡을 구현하는 것이었다. 조금 더 정확히 말하자면, 카카오톡 알림톡을 구현한 외부 API를 사용하여 우리 개발 모듈에 붙여서 사용할 수 있도록 공통 API모듈을 개발하는 것이다.

  • 개인적으로 많은 공부가 되고 있는 프로젝트고, 복습도 할겸 포스팅을 하면서 정리하고자한다.


🤔 고민 없는 개발은 정말 개🐶가 된다.

  • 그런 사람들이 있다. 개발을 할 때 무작정 코드부터 쓰고 보는 사람들.
    나도 처음에 코딩을 배우고 뭔가 만드려고 했을 때 무작정 타이핑부터 시작했다.

  • 하지만 그런 개발을 하게 되면 나중에 만들어 놓은 코드들을 다 버려야 할 수도 있고,
    정말 잘못하다가는 아예 처음부터 다시 해야해서 그동안 한 것들이 시간낭비가 되어 버리는 수도 있다. 🙅‍♂️

  • 이번 프로젝트를 하면서 내가 절실하게 깨달았던 것 중 하나는 "꼭 설계를 하자" 였다.
    전체적인 코드 설계에 대한 고민 없이 무작정 코드를 짜게 되면 내가 무얼 하고 있는지 모르게 되버린다.

  • 포스트하는 이 코드들도 사실 또 언제 바뀔지 모르지만, 3,4번 정도 설계를 엎고, 다시 고민하고, 팀장님의 조언과 도움을 받으면서 빌드해나간 것들이다.

  • 서론이 너무 길었다. 우선, 요구사항과 그 요구상에 맞춰서 어떻게 개발해 나갈 건지 포스팅하겠다.


👉🏻 요구사항 및 개발 순서 정리.

💬 요구사항

  • 💡 앞으로 포스팅할 개발 요구조건들은 다음과 같다.
  • Tason 이라는 카카오톡 알림톡 서비스의 API를 사용하여 모듈 개발
  • 템플릿을 관리할 수 있는 내부 API 개발
  • 템플릿 관리에는 기본적으로 CRUD 구현
  • 템플릿이 많아질 경우를 대비하여 JPA Specification을 사용하여 검색 기능 추가
  • feign을 사용하여 외부 api연결
  • 템플릿의 메세지를 정규식으로 치환하여 메세지의 변수 관리
  • yml 세분화하여 profile 관리 및 configuration 관리
  • MSA 화 하여 submodule 고려하여 개발

🛠 개발 순서 정리

  1. 템플릿 관리 API 개발

    • DTO 개발 -> Tason 에서 요구하는 Data 포멧대로 세팅

    • 기본적인 CRUD 기능 API 개발

  2. 외부 API와 통신하여 Kakao 알림톡을 보낼 수 있는 모듈 개발

    • Feign 이용하여 통신 인터페이스 구현

    • Properties 클래스와 yml 파일들의 연동 구현하여 관리

    • Provider -> Manager -> Service 계층으로 분할

    • Map 형식의 criteria 구현하여 String으로 받아온 메세지를 정규식 사용하여 치환할 수 있게끔 구현


🙏🏻 새로운 개발log 시리즈를 시작하며

  • 이번 프로젝트를 구현하게 되면서 참 많은 생각을 하게 되었고, 많은 것들을 배우게 되었다.
    RestTemplate도 아직 낯설었는데 Feign을 구현하게 될 기회가 되어 좋은 공부가 되었던 것 같다.

  • 아무쪼록 이 시리즈를 읽는 모든 개발자 분들이 내 글을 통해 아이디어를 얻고 더 좋은 개발 서비스를 만들어 가셨으면 좋겠다. 자, 그럼 이제 새로운 개발log 시리즈를 시작하겠다.

  • 오늘은 이만! ✋

profile
인문학 하는 개발자 💻

0개의 댓글