음식 주문 시스템 [2022.11 ~ 2022.12]
음식 주문 시스템을 통해 점주가 음식점 및 메뉴를 등록하면 관리자가 신청 내용을 승인하고 고객은 본인이 원하는 메뉴를 주문할 수 있다.
네트워크와 데이터베이스 프로그래밍을 활용한 금오공대용 배달 시스템이다.
- Java
- MyBatis
- MySQL
대상 | 주요 요구사항 |
---|---|
점주 | ● 회원 가입 |
● 음식점 등록 신청 | |
● 메뉴 등록 신청 | |
● 음식점 영업시간 설정 | |
● 고객의 주문 접수 및 승인/거절 | |
● 리뷰와 별점 조회 및 고객 리뷰에 대한 답글 등록 | |
● 주문건수, 매출현황 등 통계정보 열람 | |
관리자 | ● 메뉴 등록 신청 승인/거절 |
● 가게 등록 신청 승인/거절 | |
● 주문건수, 매출현황 등 통계정보 열람 | |
● 점주 가입 승인/거절 | |
고객 | ● 회원가입 |
● 개인 정보 및 비밀번호 수정 | |
● 음식점 조회 | |
● 음식 주문 | |
● 주문 취소(배달중인 주문 취소 불가) | |
● 주문 내역 조회 | |
● 리뷰와 별점 등록 |
백엔드
- 네트워크, 데이터베이스 프로그래밍
- 클라이언트 콘솔 출력 외 모든 주요 요구사항
- TCP/IP 프로토콜을 사용하여 Socket으로 패킷을 직접 만들어서 네트워킹을 했다. 까다로운 작업이였지만 실제 네트워크를 거쳐 서버 쪽에서 처리하는 작업이 무엇인지 정확히 알게 되었다.
- MVC 패턴을 이용해 서버 쪽 코드를 작성했다. 객체지향 프로그래밍의 강력함을 또 한 번 느끼는 순간이었고, 앞으로 프로그래밍을 할 땐 SOLID 원칙을 유념하여 개발을 해야겠다
- 처음 데이터베이스 프로그래밍을 할 땐 JDBC를 사용했었다. 이번엔 MyBatis를 활용하여 프로그래밍을 했는데 작업의 캡슐화, 중복 작업 제거 등 개발에 필요한 기능들을 알아서 제공해주니까 너무 편리했다. 사람들이 프레임워크를 왜 사용하려고 하는지 그 이유를 알아버렸다.