키믄별
키믄별
🌻 10기 서포터
🧙 AI 위자드
🏅 AI 마스터

[프롤로그] 사이드프로젝트의 시작, 성공할 수 있을까? 정기배송 스케쥴러 프로그램 만들기

어느덧 마지막 5주차, 마지막이 되어버린 사내자동화 부트캠프날입니다.

역시 지피터스에 참여하면 한없이 게으른 저도 주변 분들을 보면서 의자에 한번 더 앉고 지피티 한번 더 켜고 하게 되는 것 같습니다.

사실 저에겐 마음 한켠, 해결하지 못한 숙제 같은 것이 있는데요.

남보다 못하다는 남매, 연년생 앙숙 오빠가 하는 달걀 농장의 정기배송 스케쥴링 프로그램 개발입니다.

농장에 놀러갔다가 hwp로 관리하는 회원 명단을 보고 깜짝 놀라 호기롭게 엑셀만들기를 시작했지만, 수많은 예외케이스에 KO당하고 포기했던 그런 아이템인데요. 정부지원 바우처 사업에 지원해 선정도 되면서 업체도 연결해줬지만, 이래저래 많은 이슈들로 인해 진행을 못하고 잊어버리고 있었죠.

이번 10기 캠프 5주동안 문과생도AI개발과 자동화 캠프를 들락날락하다 보니 다시 한번 열정이 생겨서 마음 한켠 미뤄뒀던 걸 다시 해봐야겠다는 결심을 했습니다.

개발은 1도 모르는 제 입장에서 꽤나 덩어리가 크고 어려울것 같다는 생각을 하고 있어서 11기까지 이어서 진행한단 마인드로 진행해보려고 해요.

서론이 길었는데, 클로드와 함께 “감”을 잡은 이야기만 살짝 해보겠습니다.


엑셀로 할 수 있을까?

하지만 불현듯 엑셀은 사용자에게 너무 어렵겠다는 생각이 듭니다. 제가 유지보수할 엑셀이 아니니 사용자 인터페이스가 더 직관적이어야 하고, 엑셀은 좀 어렵겠다 생각이요.

프로그램으로 개발할 수 있을까?

그래서 프로그램으로 개발해보면 어떨까? 생각하게 됩니다. 용기는 닿님과 누리님께 얻었고, 버블과 스트림릿중 뭐로 개발하는게 좋을지 물어봤습니다.


버블이 좋다고 합니다. 너로 정했다 버블!

이후 어떤 식으로 플로우를 잡을 수 있을지 클로드에게 답변을 받아 스터디까지만 했구요, 전체적인 프로세스를 이해했으니 나머지 작업은 11기에 참여하고 있을 미래의 저에게 맡기기로 합니다!

요구사항은 정리가 되어 있는데, 이걸 구현할 수 있도록 저에게 가르침을 주실 고수분들과 많은 분들의 피드백과 조언, 참견이 간절한 상태입니다. 댓글, 개인톡, 메시지로 저를 도와주실 수 있는 마음 넓으신분들의 도움을 기다리고 있겠습니다. 😍😍😍


프로그램 개발 단계

네, Bubble을 사용하여 아침의 계란 정기배송 상품 스케줄 관리 프로그램을 개발할 수 있습니다. Bubble은 코딩 없이 시각적인 인터페이스를 통해 웹 애플리케이션을 개발할 수 있는 노코드 플랫폼입니다. 단계별로 Bubble에서 어떻게 구현할 수 있는지 설명해 드리겠습니다.

단계 1: 요구사항 정의

- 이전에 정의한 요구사항을 바탕으로 개발을 진행합니다.

단계 2: 데이터 모델링

- Bubble의 데이터 탭에서 새로운 데이터 유형(Data Type)을 생성합니다.

- Customer, Subscription, Delivery 데이터 유형을 생성하고, 각 유형에 필요한 필드를 추가합니다.

단계 3: 데이터베이스 설정

- Bubble은 기본적으로 자체 데이터베이스를 제공하므로 별도의 데이터베이스 설정이 필요하지 않습니다.

단계 4: 프로그램 개발

- Bubble의 디자인 탭에서 페이지를 생성하고, 필요한 UI 요소를 추가합니다.

- 고객 등록, 구독 등록, 첫 발송일 설정 등의 기능을 위한 폼과 버튼을 생성합니다.

- Bubble의 워크플로(Workflow) 기능을 사용하여 각 기능의 로직을 구현합니다.

- 예약 작업(Scheduled API Workflow)을 사용하여 배송 스케줄러를 구현합니다. 매일 실행되도록 설정하고, 해당 날짜에 배송해야 할 구독을 확인하여 Delivery 데이터 유형에 배송 정보를 생성합니다.

- 배송이 완료되면 Subscription 데이터 유형의 남은 배송 횟수를 업데이트하는 워크플로를 생성합니다.

- 남은 배송 횟수가 0이 되면 해당 구독을 종료 처리하는 워크플로를 생성합니다.

단계 5: 사용자 인터페이스 개발

- Bubble의 디자인 탭에서 관리자용 페이지를 생성합니다.

- 고객 등록, 구독 등록, 첫 발송일 설정 등을 할 수 있는 폼과 버튼을 추가합니다.

- 배송 현황을 확인할 수 있는 테이블이나 그리드를 추가합니다.

단계 6: 테스트 및 배포

- Bubble에서 제공하는 미리보기 모드를 사용하여 개발한 애플리케이션을 테스트합니다.

- 버그를 식별하고 워크플로와 UI를 수정합니다.

- 테스트가 완료되면 Bubble에서 애플리케이션을 배포합니다.

Bubble을 사용하면 코딩 없이도 아침의 계란 정기배송 상품 스케줄 관리 프로그램을 개발할 수 있습니다. 시각적인 인터페이스와 워크플로 기능을 활용하여 데이터 모델링, 사용자 인터페이스 개발, 비즈니스 로직 구현 등을 처리할 수 있습니다. 필요한 부분에 대해 더 자세한 설명이 필요하다면 말씀해 주세요.


스케쥴러 로직 상세 설명

네, 배송 스케줄러는 정기배송 관리 프로그램에서 핵심적인 부분입니다. Bubble에서 배송 스케줄러를 구현하는 방법을 자세히 설명해 드리겠습니다.

1. 예약 작업(Scheduled API Workflow) 생성

- Bubble의 백엔드 워크플로(Backend Workflow) 탭으로 이동합니다.

- "New API Workflow"를 클릭하여 새로운 예약 작업을 생성합니다.

- 작업의 이름을 "Daily Delivery Scheduler"로 지정합니다.

- "Trigger"를 "Schedule"로 설정하고, 실행 주기를 매일로 설정합니다. (예: Every 1 days at 1:00 AM)

2. 배송 대상 구독 조회

- "Daily Delivery Scheduler" 워크플로에 "Find Data"를 추가합니다.

- Subscription 데이터 유형을 선택하고, 다음과 같은 조건을 설정합니다:

- 남은 배송 횟수가 0보다 큼 (Remaining Deliveries > 0)

- 다음 배송일이 오늘 또는 오늘 이전 (Next Delivery Date is before or equal to Today)

- 이 조건을 만족하는 구독을 찾아 "Subscriptions" 변수에 저장합니다.

3. 각 구독에 대한 배송 생성

- "Subscriptions" 변수를 반복하기 위해 "Loop Data"를 추가합니다.

- 반복되는 각 구독을 "Current Subscription"이라는 변수로 지정합니다.

- "Loop Data" 내부에 "Create Data"를 추가하여 새로운 Delivery 데이터를 생성합니다.

- Subscription 필드를 "Current Subscription"으로 설정합니다.

- Delivery Date 필드를 "Today"로 설정합니다.

- Status 필드를 "Pending"으로 설정합니다.

4. 구독 업데이트

- "Loop Data" 내부에 "Update Data"를 추가하여 현재 구독을 업데이트합니다.

- Remaining Deliveries 필드를 1 감소시킵니다. (Remaining Deliveries - 1)

- Next Delivery Date 필드를 구독의 배송 주기에 따라 업데이트합니다.

- 주 단위 배송의 경우: Next Delivery Date + (Delivery Interval * 7) days

- 일 단위 배송의 경우: Next Delivery Date + Delivery Interval days

5. 종료된 구독 처리

- "Loop Data" 내부에 "Condition"을 추가하여 남은 배송 횟수가 0인지 확인합니다.

- 조건: Remaining Deliveries = 0

- 조건이 참인 경우, "Update Data"를 사용하여 구독의 Status를 "Completed"로 변경합니다.

이렇게 구현된 "Daily Delivery Scheduler" 예약 작업은 매일 지정된 시간에 실행되며, 배송 대상 구독을 찾아 해당 구독에 대한 배송을 생성하고, 구독을 업데이트합니다. 또한 종료된 구독을 처리합니다.

배송 스케줄러의 로직을 이해하셨나요? 더 자세한 설명이 필요한 부분이 있다면 말씀해 주세요.


#10기사내자동화

2
2개의 답글

👉 이 게시글도 읽어보세요!

📚 AI 활용 사례 더 보기