YS's develop story

야놀자테크스쿨 미니프로젝트 정리 및 회고 본문

기타/패캠X야놀자 테크스쿨

야놀자테크스쿨 미니프로젝트 정리 및 회고

Yusang 2023. 12. 22. 18:57

패키지 구조

 com.example.yanolja  
 ├── domain  
 │   ├── user  
 │   ├── accommodation  
 │   ├── review  
 │   ├── reservation  
 │   ├── accommodationLikes  
 │   ├── basket  
 │   ├── wishlist  
 │   ...  
 └── global  
      ├── springsecurity  
      ├── entity  
      ├── config  
      ├── exception  
      ├── jwt  
      └── util

 

ERD

⭐ FlowChart

⭐Project Architecture

⭐담당 역할

  • spring security
  • 프로젝트 배포
  • 장바구니, 결제
  • 사용자 예약조회
  • 메인페이지
  • 로그인(OAuth2)
  • Querydsl

프로젝트 구현 내용과 관련하여 작성한 블로그 글정리

프로젝트 진행하면서 생겼었던 문제들을 그때그때 기록하고 정리해 놨었습니다.

아래 글들은 해당 프로젝트를 진행하면서 사용했었던 기술들을 기록하고자 블로그에 작성했었던 글들입니다.

 

Spring, Docker에서 MySQL 데이터베이스 컨테이너 설정하기

docker-compose.yml 설정 파일 version: '3' services: travel-db: container_name: test build: context: ./database dockerfile: Dockerfile ports: - "3307:3306" restart: always healthcheck: test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ] timeout: 30

yusang.tistory.com

 

GCP 에서 springboot 프로젝트 docker로 배포하기

GCP로 이동합니다. Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com vm인스턴스 -> 인스턴스 생성 아래와 같이 설정했습니다. 가장 저렴한 비용으로 할 수 있습니다. OS

yusang.tistory.com

 

springboot certbot으로 ssl인증서 받아서 https로 배포하기

ssl 인증서를 받기 위해서는 등록할 도메인이 필요합니다. 그래서 저는 가비아에서 1900짜리 제일 싼 도메인을 1년 구매했습니다. 그리고 배포한 인스턴스의 주소를 등록해 주었습니다. https://certb

yusang.tistory.com

 

spring jpa에 Querydsl 적용하기 [spring 3.1.5, java 17]

개발하고 있는 프로젝트에 Querydsl을 적용해 보려고 합니다. Querydsl의 장점 유연성 및 강력한 검색 기능 : Query DSL을 사용하면 복잡한 검색 조건을 표현할 수 있습니다. 진행하고 있는 프로젝트 메

yusang.tistory.com

 

Spring, OAuth2 + JWT 를 활용하여 소셜 로그인 구현하기 1편 (구글 및 네이버) [Spring 3.1.5, java 17]

글 작성하기에 앞서 ppt로 정리한 전체적인 동작 흐름입니다. 현재 제 프로젝트에서는 아래와 같이 OAuth를 통한 구글, 네이버 로그인을 구현했고 그 과정을 정리하려고 글을 작성하게 되었습니다

yusang.tistory.com

 

Spring, OAuth2 + JWT 를 활용하여 소셜 로그인 구현하기 2편 (구글 및 네이버) [Spring 3.1.5, java 17]

이 글은 전글과 이어집니다.! https://yusang.tistory.com/140 Spring, OAuth2 + JWT 를 활용하여 구글 소셜 로그인 구현하기 [Spring 3.1.5, java 17] http://console.cloud.google.com/project Google 클라우드 플랫폼 로그인 Google

yusang.tistory.com

시연영상

배포페이지

https://dashing-tiramisu-cbdade.netlify.app

회고

❗  짧은 기간 동안 빠르게 기능구현을 위주로 개발을 하려고 하다 보니 다시 돌아와서 코드를 보았을 때 로직이 복잡하고 좋지 않은 코드들이 많이 보였던 거 같습니다. 다음에 비즈니스 로직을 구현할 때 있어서 좀 더 생각을 하고 좋은 설계를 바탕으로 코드를 짜면 더 좋을 거 같습니다. 이번경험을 바탕으로 코드작성에 있어서 더 생각을 해 볼 수 있을 거 같습니다. 좋은 경험이었습니다.

❗ 도커 위에서 작업을 하고, 도커이미지를 통해 배포를 해보았는데 이 경험이 매우 좋았습니다. 도커이미지로 배포를 했기 때문에 배포환경에 구애받지 않고 필요한 프로그램들 설치 없이 언제 어디서든 똑같은 배포환경을 유지할 수 있다는 점이 매우 편리했습니다.
이 과정은 기존 jar로 배포하던 것보다 훨씬 간편했던 거 같고 유용한 기술이었습니다.
Docker에 대해 좀 더 공부해 보고 더 다양한 기술들을 써보고 싶은 계기가 되었던 거 같습니다.

❗ querydsl을 활용해 메인페이지 JPQL을 개선했으며 OAuth2 client를 활용해 소셜로그인을 구현해 본 것,
redis를 활용한 캐시 DB를 추후 리팩토링 시간에 추가적으로 적용해 볼 수 있어서 좋았던 것 같습니다.


❗ 처음 써보는 새로운 기술들을 적용하면서 여러 가지 문제점이 있었지만 팀원들과 같이 의논하고 같이 개발하면서 문제를 해결했었던 것 같습니다. 덕분에 실력이 많이 늘어서 좋았습니다.

Comments