첫번째 프로젝트는 “카페 메뉴 관리 서비스 제작” 팀 프로젝트입니다. 백둥이 여러분은 주어진 요구 사항에 맞추어 프로젝트를 수행하게 됩니다.
이번 프로젝트를 통해 백엔드 개발을 위한 환경설정을 진행하고 Spring을 이용해서 커피 메뉴 데이터를 관리하는 4가지 로직 CRUD(Create, Read, Update, Delete)를 구현하는 프로젝트를 진행해봅시다.
📅 전체 일정
- 팀 구성 안내: 1~11팀 / 5인 1팀
- **프로젝트 기간: 12/2 12:00 ~ 12/10 12:00
- PUT : 해당하는 id에 해당하는 데이터를 갱신하는 기능을 구현합니다.
- DELETE : 해당하는 id에 해당하는 데이터를 삭제하는 기능을 구현합니다.
- POST: 요청이 들어올 때마다 id가 하나씩 증가하여 menu 리스트에 추가될 수 있도록 코드를 추가 구현합니다.
- SQL과 ORM 중 하나를 선택하여 데이터 베이스를 구현하여 제작합니다.
- 구현한 데이터베이스 연동을 구현합니다.
우리는 작은 로컬 카페 Grids & Circles 입니다. 고객들이 Coffe Bean package를 온라인 웹 사이트로 주문을 합니다. 매일 전날 오후 2시부터 오늘 오후 2시까지의 주문을 모아서 처리합니다.
현재는 총4개의 상품이 존재합니다.
우리는 별도의 회원을 관리하지 않습니다. email로 고객을 구분해요. 주문을 받을때 email을 같이 받아서 주문을 받습니다. 하나의 email로 하루에 여러번 주문을 받더라도 하나로 합쳐서 다음날 배송을 보내면 됩니다.
💡고객에게 “당일 오후 2시 이후의 주문은 다음날 배송을 시작합니다.”라고 알려 줍니다.
###개발환경
- intelliJ
###백엔드 기술 스택
- Spring Boot
- dependencies
- Spring Boot DevTools
- Spring Web
- Spring Data JDBC
- Mybatis FrameWork
- MariaDB
- gradle
- MariaDB
-- auto-generated definition create schema gc_coffee collate utf8mb4_general_ci;
create table coffee ( coffee_id int auto_increment primary key, coffee_name varchar(50) not null, coffee_price int not null );
create table orders ( order_id int auto_increment primary key, email varchar(50) not null, total_price int not null, order_date datetime(6) not null, status tinyint(1) null, constraint orders_ibfk_1 foreign key (email) references user (email) on update cascade on delete cascade ); create table ordersdetail ( order_id int not null, coffee_id int not null, quantity int not null, primary key (order_id, coffee_id), constraint ordersdetail_ibfk_1 foreign key (coffee_id) references coffee (coffee_id) on update cascade on delete cascade, constraint ordersdetail_ibfk_2 foreign key (order_id) references orders (order_id) on update cascade on delete cascade );
create table user ( email varchar(50) not null primary key, address varchar(200) not null, zipcode varchar(50) not null );
#1차 프로젝트 구현 내용
-
test@example.com 에 해당하는 주문 내역을 삭제