스팀 앱 개발기 #142 - 개발 완료: API 연동 코드 자동 생성 방안
개발 완료: API 연동 코드 자동 생성 방안
No. 142
2026. 02. 26 (목) | Written by @dorian-mobileapp
STEEM API를 앱과 연동하는 작업은 정형화되었습니다. 패턴이 있어서 작업이 어렵지는 않지만, 반복되는 수작업은 시간을 필요로 합니다. 이제는 AI가 있으니 이를 자동화할 수 있지 않을까요? 그게 가능할 거라 생각되어 Claude에게 가능한지 물었습니다. 답은 '가능하다'이며, 이에 대해 MD 파일로 정리해 주었습니다. 과정은 Claude가 파악을 하였구요. 다음 API 연동시 MD 파일의 가이드를 따라 진행할 예정입니다. 기대한 대로 구현이 되었으면 하는 바램입니다.
API 연동 자동화를 위해 Claude에 문의한 내용
이 프로젝트에서 Rest API는 STEEM APPBASE API (Condenser API가 그 중 하나)를 베이스로 합니다. API 문서 사이트 주소는 아래와 같습니다.
https://developers.steem.io/apidefinitions/#apidefinitions-condenser-api
앞으로 API 연동을 자동화가 가능할지 궁금해요.
- STEEM APPBASE API의 API 이름을 알려주면, JSON 파라메터 및 응답을 dorian-steem-data 모듈에 데이터 클래스로 정의
- dorian-steem-data 모듈의 SteemService 인터페이스에 API 연동 함수 추가
- dorian-steem-data 모듈의 SteemRepository 인터페이스에 API 연동 함수 추가, 구현 클래스에 함수 구현
- dorian-steem-domain 모듈에 API 응답과 동일한 포맷의 데이터 클래스 추가
- dorian-steem-domain 모듈에 해당 API 사용하는 UseCase 클래스 추가
다음 예정 작업
- 프로필 화면에서 계정 상세 화면 이동
GitHub Commit
보다 자세한 코드는 아래 commit을 참고하세요.
지난 스팀 앱 개발기
- #141 - 개발 완료: Main2Activity 관련 리팩토링
- #140 - 개발 완료: Navigation Compose 활용하여 태그 화면에서 포스트 화면 이동
- #139 - 개발 완료: Main2Activity 클래스를 추가하고 내비게이션 라이브러리 변경
- #138 - 개발 완료: Hilt 라이브러리 활용한 의존성 주입 구현
- #137 - 개발 완료: libs.versions.toml 파일 생성
- #136 - 개발 완료: 사용자 히스토리 화면에서 스팀파워 보상을 SP로 보여주기
- #135 - 개발 완료: 태그 및 포스트 리스트 화면에서 텍스트의 HTML 태그 제거
- #134 - 개발 완료: (1) 태그/포스트 리스트 화면의 포스트 항목에 댓글 개수 보여주기 (2) 댓글 리스트를 Jetpack Compose로 리뉴얼
- #133 - 개발 완료: (1) 검색 버튼 클릭시 키보드 숨기기 (2) 버그 수정: 팔로잉 계정 수 오류
- #132 - 개발 완료: 포스트 이미지 페이저 화면에 XML 대신 Jetpack Compose 적용
- #131 - 개발 완료: 프로필 이미지 화면에 XML 대신 Jetpack Compose 적용
- #130 - 개발 완료: 태그 화면에 XML 대신 Jetpack Compose 적용
- #129 - 개발 완료: 지갑 화면에 XML 대신 Jetpack Compose 적용
- #128 - 개발 완료: 포스트 리스트 화면에 XML 대신 Jetpack Compose 적용
- #127 - 개발 완료: 프로필 화면에 XML 대신 Jetpack Compose 적용
- #126 - 개발 완료: 계정 히스토리 화면에 XML 대신 Jetpack Compose 적용
- #125 - 개발 완료: 댓글 리스트 바텀시트에 XML 대신 Jetpack Compose 적용
- #124 - 개발 완료: 포스트 화면에 XML 대신 Jetpack Compose 적용
- #123 - 개발 완료: 계정 상세 화면
- #122 - 개발 완료: 포스트 화면에서 댓글 리스트 보여주기
- #121 - 개발 완료: 사용자 히스토리 화면에서 항목 클릭시 링크 팝업 띄우기
- #120 - 개발 완료: 사용자 히스토리 화면
- #119 - 개발 완료: Comments, Replies 화면
- #118 - 개발 완료: 포스트(Posts) 화면
- #117 - 개발 완료: 블로그 화면
- #116 - 개발 완료: 프로필 화면
- #115 - 개발: 프로필 화면 구현에 필요한 ProfileViewModel 클래스 개발
- #114 - 수정: 태그 화면의 포스트 리스트 항목 레이아웃 변경
- #113 - 오류 수정: 태그 리스트 로딩 중 다른 화면 이동하면 앱 비정상 종료
- #112 - 포스트 화면에서 보팅 리스트 화면으로 연결
- #111 - 시작 화면 추가
- #110 - 오류 수정: 지갑 화면 시작시 오류 토스트 뜸
- #109 - 개선: 태그 입력하고 검색 버튼 클릭 또는 엔터 키 누르면 키보드 닫기
- #108 - 개선: 태그 검색창에 엔터 키 적용
- #107 - 버그 수정: 태그 화면 복귀시 포스트 리스트 다시 로딩됨
- #106 - 포스트 화면 개발
- #105 - 포스트 화면의 로직 처리를 담당할 PostViewModel 클래스 개발
- #104 - 포스트 내용 읽기 기능을 Repository, Use Case 패턴에 적용
- #103 - 포스트 내용을 읽기 위한 bridge.get_discussion API 연동 코드 작성
- #102 - 포스트 내용을 읽기 위한 bridge.get_discussion API
- #101 - build.gradle에서 라이브러리 이름과 버전 통합
- #1 ~ #100
Layout provided by Steemit Enhancer hommage by ayogom
안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.
안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!
Upvoted! Thank you for supporting witness @jswit.
🎉 Congratulations!
Your post has been upvoted by the SteemX Team! 🚀
SteemX is a modern, user-friendly and powerful platform built for the Steem community.
🔗 Visit us: www.steemx.org
✅ Support our work — Vote for our witness: bountyking5