공기밥 프로젝트 5 (음식점 입력 기능 구현완료!)

Jay_u·2023년 8월 6일
0

공기밥 프로젝트

목록 보기
5/5

구현

남는 시간에만 개인 프로젝트에 임하고 있다보니 개발 속도가 더디지만 확실히 이번 프로젝트를 통해서 많은 점을 배울 수 있었다.(특히 테스트 코드 작성 능력?)

아무튼 현재는 관리자 페이지를 완성했고 오늘 음식점을 서울의 각 구에 데이터를 넣는 것을 목표로 했다.

잠깐 설명을 하자면 나는 관리자 페이지를 사업을 하는 입장에서 고려하는데
아무것도 모르는 아르바이트 생이라도 다루기 쉽도록 해야한다는 가치관을 갖고 있다.

유저 경로를 다음과 같이 짰다.
1. 방문 기록을 추가하는 페이지로 이동한다.
2. 현재 특정 시의 특정 구에 이미 등록되어 있는 음식점인지 확인한다.
이미 등록되어 있다면 방문 기록만 추가한다.
3. 등록되어 있지 않다면 '처음 등록'을 진행한다.

이미 등록되어 있는 음식점인지 어떻게 확인할 수 있을까?
정보를 넣고 조회 버튼을 눌러도 괜찮지만 Ajax를 활용한 비동기 통신 기능 구현으로 음식점명을 자동 완성할 수 있도록 시도했다.

서울특별시의 종로구에 있는 호랑이도삭면이라는 음식점은 이미 등록되어 있음을 알 수 있다.

이게 음식점을 등록하기 위해서는 관공서 홈페이지에서 업무추진비를 확인해야 하는데.. 이게 주소도 없고 같은 음식점명도 누가 서류를 올리는지에 따라 조금씩 달라서 (호랑이도삭면 => 호랑이 도삭면) 뭐.. 그렇기 때문에 자동완성 기능이 조금 더 유용하다고 생각했다.

그럼에도 불구하고 사람이 관리하다보면 분명히 중복 등록을 할 수 있을 것이라 생각해 작은 방지책을 만들어 놨다.


    // 음식점 이름과 지역 id를 활용해 이미 등록되어 있는지 조회
    @Override
    public Boolean isVisitPlace(HttpServletRequest request) {
        int districtId = Integer.parseInt(request.getParameter("selectedDistrict"));
        String placeName = request.getParameter("restaurantName");
        List<Place> placeList = placeRepository.findByDistrictIdAndPlaceName(districtId, placeName);

        if(placeList.isEmpty()) return false;
        else return true;
    }

방문 여부를 조회하는 메소드를 만들어서 만약 방문했다면 true 를 리턴하게 해서 등록하지 못하게 했다.

정상적으로 동작한다.

테스트

모키토를 활용한 테스트 코드도 작성했다.

굿 이제 데이터 입력 노가다만 남았다.

profile
정확한 정보를 전달할려고 노력합니다.

2개의 댓글

comment-user-thumbnail
2023년 8월 6일

좋은 글이네요. 공유해주셔서 감사합니다.

1개의 답글