2년간 다니던 미용실을 사용하던 중, 미용실의 인기가 많아짐에 따라 원하는 일정에 예약하기가 어려웠습니다.
그래서 해당 미용실의 네이버 예약 시스템에서 특정 시간대에 이미 예약이 되어 있는 경우, 해당 예약이 취소되었을 때 사용자에게 텔레그램으로 알림을 보내는 시스템입니다.
사용자는 원하는 미용실과, 디자이너, 예약 시간대를 입력하고, 해당 시간에 예약이 취소되면 텔레그램으로 알림을 받게 됩니다.
- Java 17
- Spring Boot 2.7.14
- Spring Cloud OpenFeign
- Telegram Bots API
1) ./gradlew clean build
2) cd build/libs
java -jar TimeGuardAlert-0.0.1-SNAPSHOT.jar
- 텔레그램 봇을 생성하여,토큰과 ChatID를 발급 받습니다
- 프로젝트의 application.yml 파일에 발급받은 텔레그램 봇의 토큰과 ChatID를 설정합니다.
- 텔레그램 봇의 채팅창에
/대기
명령어를 사용하여 예약 취소 알림을 요청합니다.- 텔레그램 봇의 채팅창에
/취소
명령어를 사용하여 예약해둔 요청을 취소합니다.- 예를 들어, 다음과 같이 명령어를 입력하면 됩니다.
- 원하는 미용실의 디자이너를 고른 후, 예약 버튼을 누릅니다.
![스크린샷 2024-01-12 오후 4 12 47](https://private-user-images.githubusercontent.com/97447334/296158342-1d8c1af2-b9d2-40d8-80e0-11f033255895.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjI2ODIsIm5iZiI6MTczOTYyMjM4MiwicGF0aCI6Ii85NzQ0NzMzNC8yOTYxNTgzNDItMWQ4YzFhZjItYjlkMi00MGQ4LTgwZTAtMTFmMDMzMjU1ODk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyMjYyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI4NGJiNmM1MjhmNTBhYzFiMmNlNWI5MWNmMzcyYzUzZTQzZDI3ZTE4YmYwNGJjNjYyOTM5ODRmMmJhZDkzODYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rppyJZnCHgTAwEykCvZxPR_eLEzraRhyD7kpQElm-qI)
![스크린샷 2024-01-12 오후 4 12 34](https://private-user-images.githubusercontent.com/97447334/296159036-88eeebb0-5ae5-4817-a237-6f68b9e6b8b0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjI2ODIsIm5iZiI6MTczOTYyMjM4MiwicGF0aCI6Ii85NzQ0NzMzNC8yOTYxNTkwMzYtODhlZWViYjAtNWFlNS00ODE3LWEyMzctNmY2OGI5ZTZiOGIwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyMjYyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFkMDJiNzEwNDEyMzE4NGY5NmEzY2NiZmRmZGU3NmY0ZTVkNjc4NWMxNDNlMDM2ZDc0MzZhMmFjMDRlZDAyNjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.0aU0gKKfs_FW2E5TWU_6ofnjBDdmSxrFsFLacT1LNok)
- 대기 요청시 텔레그램 봇의 채팅창에 아래와 같은 요청을 보냅니다.
/대기 179885,3807085,2024-01-01T12:00:00,2024-01-01T13:00:00
- 각 요청 값은 콤마(,)로 구분 합니다.
- 이 명령어는 다음과 같은 정보를 사용하여 예약 취소 알림을 요청합니다.
-
매장 번호: 179885
디자이너 번호: 3807085
시작 시간: 2024-01-01T12:00:00
종료 시간: 2024-01-01T13:00:00 (시작 시간과 종료 시간은 같게 설정합니다.)
![image](https://private-user-images.githubusercontent.com/97447334/296160415-1287e23c-0480-47c0-a451-a3cf2ba42bac.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjI2ODIsIm5iZiI6MTczOTYyMjM4MiwicGF0aCI6Ii85NzQ0NzMzNC8yOTYxNjA0MTUtMTI4N2UyM2MtMDQ4MC00N2MwLWE0NTEtYTNjZjJiYTQyYmFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyMjYyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNiOTA1OTVhMjI3Y2ZjYmYwZGU3NDU0YjBhMTY0NzU1NWIxODc5MGEyMzc1NzgyM2M3YmI5YjMwZDkyMGQ2MDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.xzDWXVi-Dg28NNvBefeTD8O49Uz6krvlXQfnDsHC3io)
![스크린샷 2024-01-12 오후 4 29 21](https://private-user-images.githubusercontent.com/97447334/296161195-5263656e-9b18-49e2-bf7f-710c4d5e5b41.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjI2ODIsIm5iZiI6MTczOTYyMjM4MiwicGF0aCI6Ii85NzQ0NzMzNC8yOTYxNjExOTUtNTI2MzY1NmUtOWIxOC00OWUyLWJmN2YtNzEwYzRkNWU1YjQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyMjYyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBkNDJkN2I5OTU3ZTU5MmM0OWQ3Zjc4NDRkMWY2YzQ1MjU5ZjFiYmY5YWE3NDhjZmFjOWZmMDU3NjBkNTZiMjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.MRxU8LBN6hX3-D3FhRh2zMGfaTk2Vb8-yh_1sKa5XqE)
![image](https://private-user-images.githubusercontent.com/97447334/296160768-3eb7c007-d2e2-407b-9629-2b8655635381.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjI2ODIsIm5iZiI6MTczOTYyMjM4MiwicGF0aCI6Ii85NzQ0NzMzNC8yOTYxNjA3NjgtM2ViN2MwMDctZDJlMi00MDdiLTk2MjktMmI4NjU1NjM1MzgxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyMjYyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZiYzVkNjA2YTYyMjAyNjIzNDA4ODZlZDZlZmY4ZDkzNGUyMmZkMDA4ZGM0MDMyYmY1ZTllNDI1ZWRjMzZkMTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.XnFIXwxO_AOEt-pcuKxCxX_G7D30QTGVrIVL6mFQ9tY)