MealChak Link : https://mealchak.com/
FrontEnd Github : https://github.com/hanghae99-MEALCHAK/MEALCHAK-client-application
Project MealChak Notion : https://bit.ly/mealchak-notion
점심을 시켜먹고 싶은데 ,
- 최소 주문 금액이 높아 1인분만 시킬 수가 없어서,
- 배달비가 아깝거나 가격이 비싸서, 때론 양이 너무 많아서
- 메뉴를 바꾸거나 망설인적이 있으신가요?
그런 분들을 위한 배달 모임 서비스 밀착🍙입니다!
밀착으로 같이 배달을 시킬 친구👭를 찾아 보세요.
- 최소 주문금액 때문에 먹고 싶은걸 포기하는 모든 이들
- 배달비가 부담스러운 사회 초년생과 대학생
- 혼자 밥먹는게 싫은 1인 가구
우리는 코로나 이후에 배달 음식을 더 많이 주문하게 되었습니다.
그래서 옆에 철수와 내가 같은 곳에서 떡볶이를 따로 시킨다면 배달비도 2배로 들고 환경적으로도
불합리적이다 라는 생각이 들었습니다.
그래서 우리가 오토바이를 직접 이용하는 서비스에서 탄소 배출량을 줄인다면
환경 이슈에서도 큰 도움을 줄 수 있습니다.
밀착이란 서비스는 일석이조 입니다, 고객은 배달료도 아끼고 탄소배출량도 줄일 수 있으니까요!
https://www.notion.so/Meal-4e2b5486d44e4123a1d352a63eb0d414
https://www.notion.so/2b83f0f273974545bfed5289c49c6c30
- Frontend : 김건우, 이수진, 윤정현
React
- Backend : 박응수, 박강희, 이태경, 하연후
SpringBoot
- Designer : 박수진, 하유진
UX/UI
- 21.07.23(금) - 21.08.31(화)
- Github
- Slack
- Gather
- Discode
- 회원가입 없이 카카오톡으로 로그인을 할 수 있습니다.
- 오늘의 인기 메뉴를 확인 할 수 있습니다.
- 사용자의 위치를 지정하여 주변 3KM이내의 모집글들만 조회 합니다.
- 사용자의 위치와 작성된 모집글과의 거리를 나타냅니다.
- 모집글을 작성한 사용자는 참가를 희망하는 사용자의 매너 점수 및 기본 정보를 조회하여 모집 참여에 동의/거절 을 할 수있습니다.
- 마이페이지에서 프로필 사진 및 한 줄 소개, 연령, 성별과 같은 기본 정보의 기입을 유도하여 다른 유저들에게 대략적인 정보를 제공합니다.
- 다른 사용자와의 밀착 경험을 리뷰와 매너 점수로 평가 할 수 있습니다.
- 모집에 참여한 사용자들은 실시간 채팅을 통해 소통을 할 수 있습니다.
- 모집글을 작성한 사용자는 해당 모집에 참여한 사용자를 강제 퇴장 시킬 수 있습니다.
Server
AWS EC2(Ununtu 18.04.5 LTS)ex
DB
Google SQL(MySQL)
SCM
Git(GitHub)
BackEnd(Language & Framework & Library)
Java 8
JDK 1.8.0
- Framework :
Spring Boot 2.5.3
- IDE :
IntelliJ IDEA 2021.1.2
- Build Tools :
Gradle 7.1.1
- ORM :
Spring Data JPA 2.5.3
JWT 0.9.1
Swagger 3.0.0
Spring Sequrity 5.5.1
CORS
Websocket 5.3.9
,SockJS 1.1.2
,Stomp 5.3.9
Redis 2.5.3
-
AS-IS
즉시 로딩으로 인해 Post를 조회할 경우 Post와 연관된 ChatRoom, User, Menu 등의
Entity를 조회하는 N+1의 문제로 성능상의 이슈가 발생하였습니다.
(AS-IS)기존 API요청 응답속도
-
TO-BE
메소드간의 영향을 끼치지 않기 위해 QueryDsl과 JPA repository의 사용을 분리하여
entity의 참조관계를 수정하지 않도록 하였습니다.
(TO-BE)현재 API요청 응답속도
- AS-IS 사용자와 모집글의 위치를 주소와 위도,경도로 받아 저장을 하고 모집글과 유저의 거리를 구할 때
주소를 구 단위(서울시 강남구)로 잘라 해당 구 안에 있는 모집글들만 불러와 거리를 구했습니다. 그러나 인접한 다른 구에서 작성된 모집글과 유저의 거리가 가까움에도 구의 이름이 달라
모집글을 불러오지 못하는 경우가 발생 하였고 이를 해결 하고자 고민을 하였습니다.
- TO-BE 사용자와 모집글의 주소와 상관없이 위도와 경도를 이용하여 사용자의 위치
- 주변 3KM이내의 모집글만 불러와서 해당 모집글들에 사용자와의 거리를 입력하고 그 거리를 KEY값으로 TreeMap을 통해 오름차순 정렬을 하였습니다.
"들어온 승인 요청에 알림 뱃지가 필요해요"
- 새로운 요청이나 채팅이 오면 뱃지를 통해 알 수 있도록 표시했습니다.
"모집글 작성 시 가게이름으로 검색할 수 있었으면 좋겠어요" "배달을 시킬 가게의 정보를 볼 수 있었으면 좋겠어요"
- 배달 예정 식당을 TEXT로만 입력하던 기존 방식에서 식당을 검색하여 입력하는 기능을 추가하였고
모집글 에서 식당의 정보(메뉴, 평점, 위치 등)를 볼 수 있게 했습니다.
"음식을 나눠서 각자가지고 갈지 같이 먹을지에 대한 카테고리가 있으면 좋을 것 같아요!"
- 사용자들이 서로 만나 음식을 같이 먹을지 나눠 갖을지를 채팅을 통해 소통하여 정하게 하던 기존 방식에서
모집글을 작성할 때 미리 정하여 선택하여 참여할 수 있게 했습니다.