-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature/deploy2 또다른 deploy 방법 #23
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* create: 초기 구조 생성 * Delete sandol/crawler/app.py * create: 초기 구조 생성 --------- Co-authored-by: Cycrypto <jh01love00@gmail.com> Co-authored-by: Cycrypto <jh01love@naver.com>
Feat: "추가 app.py, test.json" body: app.py 내에 read_json(), get_meals() 함수 추가했습니다. 데이터를 가져오는 과정이 구현이 안돼서 임시로 test.json 파일을 만들어서 구현했습니다.
Sandol 폴더 밑으로 이동했습니다.
utils.py 파일 생성 및 TextCard 형태를 반환하는 함수 작성
app.py에서의 사용을 위해 패키지들의 __init__.py 파일을 업데이트 합니다.
식단 정보를 Carousel TextCard 형태로 반환합니다.
- 중복 제거 - 무시 내용에 pycharm용 .idea 폴더 추가
PEP 8에 맞게 make_TextCard 함수명을 make_textcard로 변경
__init__.py의 utils 호출을 상대경로로 수정
정적 타입 체크기능 Mypy용 타입 힌트 추가
get_meals()의 인자 비워두고, read_json()파일 삭제했습니다.
sandol/cralwer 위치변경
crawler file path 수정
경로 수정하다가 파일이 이전 버전으로 올라갓군녀.. 버전 업데이트합니다
* add: add_quick_replies function api_server의 utils.add_quick_replies 함수를 추가합니다. 이 함수는 카카오톡 응답 형식에 quickRelplies를 추가합니다. * add: add_help_quick_reply api_server의 utils.add_help_quick_reply를 반환하는 함수를 추가합니다. 도움말을 발화하는 QuickReply를 간단하게 추가하는 함수입니다. * add: cafeteria_view.py, settings.py id 조회, 식당 이름으로 식당 객체 불러오기 * fix: "identification" key 추가 * chore: by_id() 수정 식당 이름으로 조회해서 객체 생성하게 바꿨습니다 * fix: test.json path 수정 * add: kakao 라이브러리 적용 kakao 라이브러리를 임시로 로컬에 추가합니다. 이 라이브러리를 이용하여, 발화의 param 값을 추출하고, 각종 반환 값을 생성할 수 있습니다. * delete & add: api_server/utils.py functions api_server/utils.py의 함수를 수정합니다. Kakao 라이브러리 추가로 불필요해진 함수들을 삭제합니다. meal/view 처리를 위해 필요한 make_meal_cards 함수를 추가합니다. * add: 재사용 가능한 컴포넌트 분리를 위한 api_server/settings.py 추가 재사용성이 높고, 변하지 않는 data를 저장하는 파일을 만들었습니다. 도움말 QuickReply와 TIP와 E동 식당 웹페이지 TextCard 가 추가됩니다. * update: mea/view/ fuction - kakao 라이브러리를 적용하고, 이를 이용하여 최적화 하였습니다. - 사용자의 발화를 처리하여 사용자가 선택한 식단만 반환하는 기능을 추가했습니다. - 도움말 Quickreply를 추가하였습니다. - 세로로 3개 이하의 박스만을 출력할 수 있는 kakao 스킬의 규칙에 따라 반환 형태를 수정하였습니다. (기존에는 교내,교외를 구분하였습니다. 현재는 단순히 점심 저녁으로 나뉘며 마지막 줄에 E동과 TIP 식단 정보가 담긴 TextCard가 전송됩니다.) * update: Kakako Library * docs: module docstring 추가 대상 파일: sandol/app.py, sandol/api_server/utils.py, sandol/api_server/settings.py * add: 다른 식당 탐색 Qurickreplies 반환 추가 학식 발화를 입력하면 도움말 Qurickreply와 식당 이름들로 이루어진 Qurickreplies를 함께 반환합니다. * fix: cafeteria_view.py - by_id() 함수 id조회 후 식당 이름으로 된 객체로 반환 - app.py의 get_meals() 함수 이동 - __init__ 초기화 방식 수정 * delete: app.py get_meals() 함수 -> cafeteria_view.py 파일로 이동 및 app.py 삭제 * fix: 파일 구조 변경에 따른 __init__.py 수정 * fix: __init__.py 수정, settings.py 에러 제거 * fix: view, registration 기능 분리에 따른 method 수정 * add: registration.py registration 기능 - add(단일 메뉴 추가), delete(단일 메뉴 제거), clear(전체 temp 제거), submit(확정) method * add: registration.py registration 기능 - add(단일 메뉴 추가), delete(단일 메뉴 제거), clear(전체 temp 제거), submit(확정) method * delete: cafeteria-registration.py 및 관련 코드 삭제 * fix: view 브랜치-crawler 버전 업데이트 - registration.py 파일 삭제 * Delete sandol/crawler/cafeteria_registration.py * update: Kakao-library 업데이트 * update: Kakao-library 업데이트에 따른 코드 수정 * fix: kakao library update에 따른 코드 수정 누락 처리 * refactor: 하위 Flask 버전을 위한 decorator 수정 app.post를 app.route("/", methods=["POST"]) 로 수정했습니다. --------- Co-authored-by: Ivy Ki <ginahye1@gmail.com>
* add: cafeteria.py, settings module Restaurant class 재구현 -> 미완 * add: file 내 "id" key 추가 * Delete sandol/crawler/crawler directory * fix: test.json, settings.py * delete: sandol/crawler/app.py app.py의 get_meals() 함수를 cafeteria_view.py로 이동, 동시에 app.py 불필요, delete * add: Kakao 폴더 업로드 cafeteria-view에 적용된 이후 업데이트가 이루어진 코드로써 구조적 변화가 생겨 사용법이 바뀌었습니다. * Add: 테스트용 식당 추가 테스트를 위해 산돌식당을 추가합니다. * Add: cafeteria_registration.py 추가 식당의 메뉴 등록을 진행 하는 Restaurant 클래스가 포함된 파일을 추가합니다. 이를 initializing하는 관련 코드도 추가합니다. * feat: 애플리케이션 파일 수정 및 식단 정보 등록 API 추가 * feature: temp_menu.json 파일 생성 용 method 추가 save_temp_menu() , load_temp_menu() 추가 및 submit() 수정 - submit 반환값 삭제 * chore: submit() method 수정(temp_menu.json 파일 영구삭제) - self.temp_menu 초기화 및 submit 호출 시 temp_menu.json 영구 삭제 - add_menu() 내 중복 메뉴 등록 x 조건문 추가 * fix: registration.py method 수정 - save_temp_menu(), load_temp_menu() : 수정 - submit() : file.seek(0) 삭제, self.lunch 직접 access 삭제 * fix: 에러 메세지 호출 수정 print -> raise ValueError() 수정 * Update: Kakao library 업데이트 * add: testserver 동작을 위한 main.py 파일 추가 * fix: submit() 수정 및 자잘구리 fix - submit() : lunch, dinner 개별 변화 시 개별 저장 -> submit_upload_menu() method 이용(복잡도 완화 목적) - import settings -> from . import settings 수정 - add_menu(), dinner_menu() fix * delete: unnecessary function make_textcard Kakao Library 도입으로 불필요해진 함수를 제거합니다. * feat: Add split_string function for string splitting 문자열을 구분자를 기준으로 분리하여 리스트로 반환하는 함수입니다. 학식 등록시 문자열로 입력받은 메뉴 문자열을 구분하기 위해 사용합니다. * feat: make_meal_card and make_meal_cards function 식당의 식단 정보를 TextCard 형식으로 반환하는 make_meal_card와 식단 목록에 대해 식단 정보를 Carousel 형식으로 반환하는 함수입니다. * feat: error_message function 에러를 받아 사용자에게 전달하기 위한 추가 메시지를 덧붙여 TextCard로 반환하는 함수입니다. * feat: meal_registration api server code 식단 정보 등록을 위한 Flask 코드 전체를 update 합니다. meal_register는 임시로 식단 정보를 저장하고, meal_submit은 임시 저장된 식단 정보를 등록합니다. * fix: self.temp_menu 인스턴스 삭제 - self.temp_menu 인스턴스 삭제에 따른 메서드 수정 * fix: import settings 상대경로 수정 * fix: utils 수정에 따른 코드 삭제 누락 해결 * feat: api_server/utils meal_response_maker function 식단 정보 미리보기 응답을 생성하는 함수입니다. 식단 등록, 식단 삭제에서의 코드 중복 문제를 해결합니다. * feat: 식단 메뉴 삭제 기능 추가 식단 메뉴 삭제 기능을 추가합니다. 삭제하려는 식단 종류(점심, 저녁)의 메뉴들을 퀵리플라이로 반환하고, 이를 선택하면 메뉴가 삭제되는 함수입니다. * Docs: add docstring * update: kakao-library 코드리뷰 및 Merge를 위한 업데이트(코드 동기화) * feat: 전체 메뉴 삭제 기능을 추가합니다. * refactor: Refactor app.py * refactor: 일관성 있는 queto 적용, module docstring 추가 * feat: handle_errors 데코레이터 추가 공통 오류 처리 데코레이터를 통해, 각 api 엔드포인트 함수에서 발생하는 별도로 Handling 되지 않는 모든 에러를 처리함으로써 5XX 에러를 원천적으로 차단합니다. * refactor: 하위 Flask 버전 지원을 위한 수정 app.post 대신 app.route("/", methods=["POST"])를 사용합니다. * feature: TIP, E동 레스토랑 식단 정보 등록 * chore: 모듈로 사용하기 위한, bookDownloader 수정 error raise: 이제 각 코드 도중 문제가 발생하면 오류 출력 대신 에러를 raise 합니다. timeout 추가: 무제한 로딩 방지를 위해 requests.post 코드에 timeout 10초를 추가했습니다. * fix: tip 가가식당, E동 레스토랑 identification code 할당 * fix: Restaurant 객체에 time, price 인스턴스 추가 registration_time, opening_time, price_per_person 인스턴스 추가 --------- Co-authored-by: Ivy Ki <144656120+IvyKi@users.noreply.github.com>
불필요한 quickReply를 제거합니다.
tip 지하|E동 식당 정보를 Restaurant 객체로 처리하도록 수정했습니다. 식단 정보를 등록시간 기준으로 정렬하도록 처리하는 코드를 주석으로 추가했습니다.
- restaurant.py 하나에 registration.py, view.py 합치기, 인스턴스 통합 - __init__.py import Restaurant 호출 수정 - 자잘구리 settings, test.json 수정
+ 파일 이름이 restaurant 인 것보다 cafeteria.py가 더 적합한 것 같아 이름만 바꿨습니다
브랜치 병합 cafeteria.py 파일로 정리
브랜치 병합 cafeteria.py로 파일 합침
…string 1. 파일명 수정: camel case 지양 규칙 적용 2. 모듈 docstring 추가
1. FastAPI에 맞게 비동기 함수를 사용합니다. 2. 에러 처리를 FastApi에서 지원하는 exception_handler를 사용하도록 수정했습니다. 3. check_tip_and_e 데코레이터도 비동기 함수에 맞게 수정했습니다.
조직화 및 유지보수를 개선하기 위해 meal 모듈 구조를 리팩토링합니다. meal API 엔드포인트 정의를 별도의 모듈로 이동하여 관심사의 분리를 강화합니다. 이를 통해 API 엔드포인트를 보다 쉽게 관리하고 업데이트할 수 있습니다. - meal API 엔드포인트 정의를 별도의 모듈로 이동 - __init__.py 파일을 업데이트하여 meal API 모듈을 임포트 - __all__ 리스트를 업데이트하여 meal API 모듈을 포함 이 리팩토링은 API 서버의 전체 구조를 개선하고 유지보수 및 확장이 용이하도록 합니다.
반복적이고 단순한 연산을 하나로 통일하여 코드를 간소화 했습니다.
api_server/__init__.py를 제외한 코드에서의 import문을 상대경로에서 절대경로로 수정했습니다.
- 요청에서 Payload 객체와 등록된 Restaurant 객체를 반환하는 공통 함수 get_payload_and_restaurant를 추가했습니다. - meal_register 및 meal_delete 함수에서 중복된 코드를 제거하고, get_payload_and_restaurant 함수를 사용하도록 수정했습니다. - 코드의 일관성과 재사용성을 높였습니다.
- TODO 주석에 작성자를 추가했습니다. - 잘못된 docstring 구조를 수정했습니다.
- 기존의 반복문을 사용하여 description을 구성하던 코드를 간결한 단일 라인 표현으로 변경했습니다. - menu_list가 비어 있을 경우 "식단 정보가 없습니다."를 반환하고, 그렇지 않으면 메뉴 항목들을 줄바꿈으로 연결하여 반환하도록 수정했습니다. - 코드의 가독성과 효율성을 높였습니다.
식단 목록에 식당 정보를 확인하는 버튼을 추가했습니다. 식당 정보를 반환하는 API 엔드포인트를 추가했습니다. 이를 통해 클라이언트는 특정 식당의 정보를 요청할 수 있습니다. API 응답으로는 식당의 이름, 영업 시간, 위치, 가격 등의 정보가 포함됩니다. 또한, 식당 위치를 확인할 수 있는 네이버 지도 링크도 제공됩니다. 이를 통해 사용자는 편리하게 식당 정보를 확인할 수 있습니다.
코드가 미완성이기 때문에 boto3를 사용하지 않는 곳을 대신하기 위해 data.xlsx와 test.json을 업로드합니다.
#22 으로 deploy 방법을 확정하였기 때문에 pr을 종료합니다. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#22 와 다르게 만들어진 deploy 방법 입니다.
특징
docker 미사용
handler = Mangum(app)
한 줄만 추가하면 됩니다.tmp 미사용
BookTranslator.__init__(self)
수정파일 이름 수정
template 파일의 PolicyDocument 적용 안됨