非백엔드 개발자의 ChatGPT 활용 모바일 서비스 제작기

ChatGPT를 활용하면 별도의 전문 지식이나 깊은 공부 없이도 기본적인 코딩 원리와 규칙을 이해하는 범위에서 효과적으로 사용할 수 있습니다. 예를 들어, 프론트엔드는 익숙하지만 백엔드 경험이 부족하거나 깊은 지식이 없는 경우에도 ChatGPT의 지원을 받아 완성도 있는 서비스를 구축할 수 있습니다.

다음은 프론트엔드 개발 경험은 있으나 백엔드에 대한 이해가 부족한 상황에서 ChatGPT를 활용해 모바일 서비스를 어떻게 개발할 수 있는지에 대한 예시입니다. 이를 통해 저는 일상에서 필요로 했던 간단한 개인 프로젝트를 소개하려 합니다.


문제점
- 중소기업 장기 근속자를 위한 주택 공급 공고를 확인하기 위해서는 매번 해당 기관의 지역별 게시판을 방문해야 함
- 공고의 지원 기간이 매우 짧아, 매일 확인하지 않으면 지원 기회를 놓치기 쉬움

해결책
- 공고가 등록될 때마다 즉시 확인할 수 있도록 알림을 제공하여 적시에 지원할 수 있도록 지원

서비스 구성
- 밤 8시에 신규 공고를 자동으로 확인하는 백엔드 시스템 ⬅️ (도전 과제)
- 새 공고가 발견되면 Firestore 데이터베이스에 저장하고, 푸시 알림을 전송
- 사용자는 전용 앱을 통해 공고를 확인하고, 웹뷰를 통해 자세한 정보를 볼 수 있음

개발 환경
- 백엔드: Google Cloud의 서버리스 기능인 Cloud Functions와 Scheduler을 활용 (node.js 기반)
- 프론트엔드: iOS 앱 (Swift 기반)



1. 긁어 올 정보 찾아보기


이 링크에는 중소기업 장기근속자를 위한 특별공급 정보가 게시됩니다. 하여, 아래와 같이 정보를 가져올 예정입니다.

▶️ 언제? 매일 밤 8시에

▶️ 어디서? https://mss.go.kr/site/seoul/ex/bbs/List.do?cbIdx=359

▶️ 무엇을? 당일에 등록된 공고문을

▶️ 어떻게? 등록일과 제목을 추출해 게시글 링크와 함께 데이터베이스에 저장


별다른 프롬프트 엔지니어링에 대한 전문 지식이 없다는 것을 전제로 하기 때문에, 평소 함수(function)를 기록하는 방식으로 ChatGPT에게 요청할 예정입니다.

함수에 대한 설명하는 방식으로는,

  1. 함수명

  2. 파라미터

  3. 결과값 (리턴값)

  4. 로직 (작동하는 원리)


2. ChatGPT를 활용하여 코드 작성 해보기

위와 우리가 일반적으로 알고 있는 절차에 따라 ChatGPT에 질문했습니다.


지정한 조건에 맞게 코드를 작성한 듯 보이는데요. 코드를 대충 훑어보면, 매일 밤 8시에 불리도록 요청했는데 그 부분이 반영되지 않은 듯 합니다. 하여, 아래와 같이 다시 요청합니다.


스케쥴러(Scheduler)를 사용하여 코드(‘0 20 * * * ‘)를 작성한 것이 이제 보이네요. ChatGPT가 스스로 지역(timeZone)도 설정해주네요.


공고문이 새로운 것인지 확인하는 절차가 필요합니다. 이를 위해, 등록일과 오늘 날짜가 일치하는지 확인하는 함수를 요청합니다. 즉, 오늘 등록된 공고문만 데이터베이스에 저장합니다.


조건에 맞게 함수를 만들어 주었네요. 위 함수를 정확히 어디에 넣을지 모르겠다면, 어느 위치에 넣어야 코드 수정을 다시 요청합니다.

ChatGPT가 주석 처리하여 함수가 들어가야 할 위치를 알려줍니다. 해당 함수를 저 위치에 추가해봅니다.


마지막으로 추출한 데이터를 데이터베이스에 저장하는 코드를 요청합니다. 데이터베이스는 구글 클라우드의 파이어스토어(Firestore)를 사용합니다. 앞서 언급한 대로, 추출할 데이터는 제목, 등록일, URL입니다. 데이터를 저장할 형식과 위치는 원하는 대로 이름을 지정하여 ChatGPT에 알려주시면 됩니다.

위에서 설명한 절차를 따라, 푸시 알림 처리와 같은 작업을 차례로 요청하고 수정하는 과정을 거쳐, 최종적으로 해당 서버리스 기능을 배포합니다.


3. 모바일 결과물 보기

미리 만들어 둔 모바일에서는 새로운 (당일) 공고문이 발생한 경우, 매일 밤 8시에 푸쉬 알림을 날려줍니다 ⏰

❇️ 퇴근 중에 공고문이 딱~ 떴다고 날라오네요! DB에 저장된 공고문이 모바일에서 보입니다!


정리하며…

서버리스 기능을 포함한 모바일 서비스 개발을 ChatGPT를 활용하여 시도해보았습니다. 이 과정에서 프롬프트 엔지니어링에 대한 깊은 지식이나 별도의 교육 없이도 코드 작성이 가능함을 확인했습니다.

물론, 일정 수준의 개발 지식이 전혀 없다면 이는 어려울 수 있습니다. 그러나 기본적인 '육하원칙' 이해나 함수 작동 원리에 대한 지식이 있다면, 서버리스 기능을 적용한 상당한 수준의 서비스 개발이 가능합니다.

앞서 경험한 바와 같이, 한 번의 요청으로 완벽한 코드가 나오지는 않을 수 있습니다. 만족스럽지 않거나 부족한 부분이 있다면, 해당 부분을 스크린샷 찍거나 텍스트를 복사하여 ChatGPT에 단계별로 질문하면서 원하는 결과가 나올 때까지 지속적으로 피드백을 주는 것이 좋습니다. 또한, 배포 등의 과정이 복잡하다고 느끼는 경우, 본인이 막힌 부분(화면)을 스크린 캡쳐하여 ChatGPT에 질문하면 좋은 결과물(예: 단계별 가이드)을 얻을 수 있습니다.

부족한 글 읽어주셔서 감사합니다!😀

#9기풀스택 #백엔드도전하기 #풀스택도전하기

10
9개의 답글

👉 이 게시글도 읽어보세요

모집 중인 AI 스터디