프로젝트 이름 : 맛집의 정석 (맛집을 찾아서 떠나자)
와이어프레임 사진:
https://www.canva.com/design/DAEp2jCrqEw/UkU15jMl6o5yCLgBYfCscg/view
마음대로 끄적어본 api 설계.. :
https://hungry-runner-975.notion.site/be69b53499004d08a1f4909ee4495140?v=47560440a1e942829353028a87404acc
깃허브 :
https://github.com/Sollertia/mini-project-best_restaurants
구현 유튜브 링크 :
https://youtu.be/rHKxNu9u83A
구현 홈페이지 링크 :
http://13.125.34.122/
[필수 포함 사항]
처음으로 배정된 팀원들과, 사전과제에 공부한 지식을 바탕으로 프로젝트를 완성해보세요.
ㄴ 한 명의 AWS EC2에 업로드하고, 도메인을 붙여 제출합니다.
아이디어는 유쾌한 것, 의미있는 것, 또는 무엇이든!!!.
Jinja2 템플릿 엔진을 이용한 서버사이드 렌더링 (어떤 장점이 있을까?)
ㄴ 웹개발 플러스 2주차 내용 훑어보기
JWT 인증 방식으로 로그인 구현하기 (쿠키/세션 방식에 비해 어떤 장점이 있을까?)
ㄴ 웹개발 플러스 4주차 내용 훑어보기
김기철(https://github.com/GCEE91)
최원빈(https://github.com/Sollertia)
장재원(https://github.com/JangJaeWon22)
안정우(https://github.com/jeoungwoo)
주요기능
회원가입시 정규화를 사용하여 필요정보를 필터링 하였습니다.
회원가입시 아이디 중복확인 기능을 넣었습니다.
로그인시 JWT를 발행하여 사용자 인증을 하였습니다.
게시판 목록
게시글
게시판 페이지, 검색
맛집 검색 구현 화면
main page 내의 검색 창을 활용하여 네이버(https://www.naver.com/) 검색창에 대해 crawling 구현
crawling 결과 값을 DB에 저장하여 main page에 카드 형식으로 삽입
음식점의 image가 없는 경우도 발생하여, "이미지 없음"의 url를 따로 가지고 if문을 통해 조건에 맞게 나올 수 있도록 구현 했습니다.
카드의 형태에는 db에 저장된 자료를 가져오고, "맛집 일기 쓰기" 버튼을 구현 하였습니다.
"맛집 일기 쓰기" 버튼의 기능으로는 modal창의 형식의 팝업이 될 수 있도록 하였고,
modal창의 내용엔 review를 작성할 수 있도록 구현했습니다.
modal창의 "맛집 찜하기"
onClick() 함수를 통해, 현재 로그인 한 user의 payload[_id]값과 함께 음식점의 상호 명, 음식점의 메뉴, 음식점의 별점, 현재 작성한 리뷰를 같이 db에 저장합니다.
맛집 일기장 구현 화면