21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템
-
Day 21: 최종 리뷰와 프로젝트 마무리21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 27. 07:12
오늘은 21일 동안 진행한 프로젝트를 최종적으로 리뷰하고, 필요한 수정 사항을 반영하며, 프로젝트를 정리하는 시간을 가집니다. 최종 목표는 프로젝트가 안정적으로 동작하도록 점검하고, 향후 확장을 고려해 개선 사항을 문서화하는 것입니다.1. 최종 리뷰클라이언트 기능 리뷰주문 폼(OrderForm):폼 입력 필드의 유효성 검사가 정상적으로 작동하는지 확인.주문 제출 후 성공 메시지가 표시되고, 폼이 초기화되는지 점검.주문 목록(OrderList):주문 목록이 서버에서 데이터를 정확히 불러오는지 확인.주문 상태 변경 버튼("승인", "완료")이 정상적으로 작동하는지 테스트.필터링 및 정렬 기능이 예상대로 동작하는지 검증.관리자 화면(AdminOrder):주문 데이터를 테이블 형식으로 표시하며, 상태 필터링과 ..
-
Day 20: 2주차 작업 복습 및 최적화21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 26. 07:23
오늘은 이번 주(2주차) 동안 진행한 작업을 복습하고, 코드와 기능을 최적화하며, 남아 있는 문제를 해결하는 시간을 가집니다. Day 15부터 Day 19까지의 작업을 점검하고, 개선 가능한 부분을 찾아 정리합니다.1. 2주차 주요 작업 복습Day 15: 데이터베이스 설정 및 통합SQLite와 SQLAlchemy를 사용해 데이터베이스를 설정하고, 데이터를 영구적으로 저장하도록 구현.복습 내용:데이터베이스 연결이 올바르게 설정되었는지 확인.주문 데이터가 데이터베이스에 정확히 저장되고 불러와지는지 테스트.Day 16: 주문 상태 업데이트추가된 기능: 주문 상태를 "대기 중", "승인됨", "완료됨"으로 업데이트할 수 있는 기능 구현.복습 내용:상태 변경 API(/order/{order_id}/status)가..
-
Day 19: 관리자 화면 개선 – 주문 관리 인터페이스 확장21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 25. 06:32
오늘은 가게 주인을 위한 관리자 화면을 개선하여, 주문 데이터를 더 효율적으로 관리할 수 있는 기능을 추가합니다. 특히, 여러 주문 상태를 한눈에 볼 수 있는 테이블 기반의 관리 인터페이스를 구현하고, 정렬 및 필터링 기능을 추가합니다.1. 관리자 화면의 UI 설계목표주문 목록 테이블: 주문 데이터를 테이블 형식으로 표시.정렬 기능: 주문 상태, 상품명, 또는 고객 이름 기준으로 정렬.상태별 필터링: 주문 상태에 따라 데이터를 필터링.빠른 상태 변경: 주문 상태를 테이블에서 바로 변경.2. 클라이언트 구현AdminOrder.vue 파일 생성src/components 폴더에 AdminOrder.vue 파일을 생성합니다.vue코드 복사 주문 관리 상태별 필터링: 모든 주문 대기 중 승인됨 완료됨 ..
-
Day 18: 클라이언트 측에서 주문 기록 데이터 불러오기 및 상세보기 기능 추가21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 24. 00:37
오늘은 클라이언트에서 주문 기록을 더 상세히 확인할 수 있도록 기능을 확장합니다. 각 주문 항목에 대해 세부 정보를 확인할 수 있는 버튼을 추가하여, 필요한 데이터를 한눈에 볼 수 있는 UI를 제공합니다.1. FastAPI에서 주문 상세보기 엔드포인트 추가main.py에 특정 주문의 세부 정보를 반환하는 엔드포인트를 추가합니다.main.py 수정python코드 복사@app.get("/order/{order_id}") def get_order(order_id: int, db: Session = Depends(get_db)): # 주문 조회 order = db.query(Order).filter(Order.id == order_id).first() if not order: raise HTTPException..
-
Day 17: 주문 기록 조회 기능 구현 – 클라이언트에서 과거 주문 데이터 확인하기21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 23. 01:09
오늘은 주문 기록 조회 기능을 구현합니다. 이를 통해 클라이언트에서 과거 주문 데이터를 확인할 수 있도록 기능을 확장합니다. 사용자는 주문 목록을 날짜, 상태, 또는 기타 조건에 따라 필터링하여 확인할 수 있습니다.1. 서버에서 주문 기록 조회 API 개선main.py 수정/orders 엔드포인트를 개선하여 상태별 또는 특정 조건에 따라 주문 데이터를 조회할 수 있는 기능을 추가합니다.python코드 복사from fastapi import FastAPI, Depends, Query from sqlalchemy.orm import Session from database import SessionLocal, Order app = FastAPI() # 데이터베이스 세션 종속성 설정 def get_db(): d..
-
Day 16: 주문 상태를 데이터베이스에서 업데이트하기21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 22. 19:41
오늘은 주문 상태를 데이터베이스에서 관리하고, 업데이트하는 기능을 구현합니다. 이를 통해 FastAPI 서버에서 주문 상태를 변경하고, 클라이언트에서 이를 확인할 수 있도록 기능을 확장합니다.1. 데이터베이스 모델 수정 (이미 설정된 경우 생략 가능)Order 모델에 상태 필드가 이미 정의되어 있다면 생략 가능합니다. 상태 필드는 주문의 상태(예: “대기 중”, “승인됨”, “완료됨”)를 관리합니다.class Order(Base): __tablename__ = "orders" id = Column(Integer, primary_key=True, index=True) name = Column(String, nullable=False) item = Column(String, nullab..
-
Day 15: 데이터베이스 설정 및 통합 – SQLite와 FastAPI21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 21. 09:52
이번 주는 데이터 통합이 주제입니다. 오늘은 SQLite를 사용하여 FastAPI 서버에 영구적인 데이터 저장소를 설정합니다. 이를 통해 서버를 재시작해도 주문 데이터가 유지되도록 구현합니다.1. SQLite와 SQLAlchemy 설치FastAPI와 함께 데이터베이스를 사용할 때, SQLAlchemy는 데이터베이스 작업을 관리하기 위한 훌륭한 도구입니다.설치 명령어bash코드 복사pip install sqlalchemy sqlite32. 데이터베이스 설정FastAPI에서 SQLAlchemy를 설정하고 SQLite 데이터베이스를 연결합니다.디렉토리 구조 설정server 폴더 안에 database.py 파일을 생성합니다.css코드 복사server/ ├── main.py ├── database.pydataba..
-
Day 14: 새로운 기능들에 대한 리뷰와 문제 해결21일오블완챌린지_vue.js와fastapi로 만드는 웹 주문 시스템 2024. 11. 20. 10:45
오늘은 이번 주(2주차) 동안 추가한 기능들을 복습하고, 발생했던 문제를 해결하며 프로젝트를 다듬는 시간을 가지겠습니다. Day 8부터 Day 13까지 개발한 기능들을 점검하고, 개선하거나 최적화할 부분이 없는지 확인합니다.1. 2주차 기능 복습Day 8: 주문 폼 개선추가된 기능: 주문 폼에 수량과 주문 메모 입력 필드 추가.확인할 사항:사용자가 수량과 메모를 정상적으로 입력할 수 있는지 테스트.서버로 데이터가 정확히 전송되는지 확인.Day 9: 주문 상태 설정추가된 기능: 주문 상태 필드("대기 중", "승인됨", "완료됨") 추가.확인할 사항:기본 상태가 "대기 중"으로 설정되는지 확인.주문 상태가 서버에서 정확히 저장되고 반환되는지 점검.Day 10: 주문 상태 업데이트추가된 기능: 주문 상태를 ..