/foodstagram

음식점 리뷰를 사진과 함께 저장하고 리스트로 관리할 수 있는 웹 서비스

Primary LanguageJava

Foodstagram

프로젝트 URL: 푸드스타그램

프로젝트 소개

음식점 리뷰를 작성하기 위해 만든 개인 웹 프로젝트입니다. 게시글은 다른 사용자와 공유하지 않으며 작성자만 확인할 수 있습니다. 음식점에 점수를 매기거나 리스트로 등록하기, 지도 기능 등 가게에 대한 다양한 정보를 작성할 수 있습니다.

SpringBoot로 개발하였고 Kakao OAuth2 로그인 기능, 로그인시 JWT 발급하여 Redis에 저장, Oracle Cloud로 배포 등 여러 기능을 사용하여 구현하였습니다. Github Action을 사용하여 CI/CD를 구현하였습니다.


개발 환경 및 사용된 기술

개발 환경

  • SpringBoot 3.1.0, Gradle, Java 17
  • Oracle Database 19c
  • Oracle cloud instance, Oracle cloud ATP

사용된 기술

  • Redis memory, JWT
  • JavaScript, JQuery, Thymeleaf
  • Kakao map, OAuth2 API, Gmail smtp
  • Spring Security
  • Github Actions CI/CD

Database ERD





주요 기능

프로젝트 주요기능은 게시글, 리스트, 마이페이지, 계정 서비스, 관리자 서비스 입니다.

  1. 게시글
    음식점의 간단한 정보와 주소, 사진을 등록합니다.
    저장한 게시글은 검색조건을 설정하여 검색할 수 있고 목록 형태로 확인할 수 있습니다.

  2. 리스트
    게시글을 리스트로 관리할 수 있습니다.
    예를 들어 경주 여행이나 부산 맛집 등 리스트를 생성하여 리스트 별로 게시글을 한 번에 확인할 수 있습니다.

  3. 마이페이지
    회원이 작성한 게시글, 리스트 수를 확인할 수 있습니다.
    또한 비밀번호 변경, 회원 탈퇴, 로그 아웃 및 계정과 관련된 기능을 진행할 수 있습니다.

  4. 계정 서비스
    계정 서비스에는 회원가입, 로그인, 아이디, 비밀번호 찾기 기능이 있습니다.
    회원가입, 아이디, 비밀번호 찾기는 이메일을 인증하여 진행합니다.
    로그인으로 일반 회원가입과 Kakao 간편 회원가입이 있습니다.
    로그인 시 Redis In memory에 JWT 토큰을 관리하여 최대 2주동안 로그인 유지가 가능합니다.

  5. 관리자 서비스
    게시글 카테고리를 관리할 수 있습니다.


시연 영상

  • 로그인 및 회원가입


  • 카카오 로그인


  • 게시글 검색 및 목록
_.mp4



  • 게시글 상세보기
_.mp4



  • 리스트 목록 및 등록하기


개선할 점

  • Redis 서버 분리하여 JWT, 이메일 인증번호 저장하기