jayeon apple project

최준호·2022년 2월 3일
0

jayeon

목록 보기
1/10
post-thumbnail

👏프로젝트 시작

부모님께서 현재 평창에서 사과 과수원을 운영하고 계시는데 주문을 유도하거나 상품의 가격을 궁금해 하시는 분들이 계실 때 하나 하나 설명해주기가 어렵다고 하셔서 그런 문제를 해결할 수 있는 사이트가 없냐고 물으셨다.

그래서 당연히 사이트들은 많이 있지만 부모님께서 직접 운영하고 사용하기에는 다들 너무 어려운 사이트가 대부분이기 때문에 내가 직접 만들어 드리기로 했다.

🔨기술 스택

갑작 스럽고 단기간에 끝내야하는 프로젝트였기 때문에 내가 가장 자신있는 기술과 사용해보고 싶었던 기술을 섞어서 사용하기로 했다.

Back

source : https://github.com/juno-choi/jayeon-api
language : java
framework : spring boot
db : h2, mysql, JPA
tool : intellij, git, Docker
server : 개인 raspberry pi

Front

url : http://jayeonapple.com
source : https://github.com/juno-choi/jayeon-front
language : javascript, node.js, html, css
framework : express
api : jayeon-api
tool : vsc, git, Docker
server : 개인 raspberry pi

프로젝트는 front의 node server에서 api server로 만들어진 back end server로 요청하여 데이터를 저장하고 사용하는 방식으로 진행했다. msa로 구현하고 싶었지만 단기간에 프로젝트를 구성하기엔 너무 시간이 걸릴거 같고 내 경험치도 부족해서 추후에 이 프로젝트를 msa로 변경해보는 과정을 진행해보려고 한다.

✍프로젝트를 진행하며 느낀점

  1. 최근 Spring Batch를 공부하며 Spring의 동작 구조를 살짝 이해할 수 있었는데 덕분에 프로젝트를 최초로 구성하면서 설정하는 부분이 그저 따라만 작성하는 것이 아니라 이 설정이 어떻게 bean으로 등록되고 어떻게 DI가 되는지 더 잘 이해할 수 있었다.
  2. JPA로 table 구조를 처음으로 처음부터 설계해보는 경험이었고 table끼리 mapping되는 방식을 좀 더 이해할 수 있었다.
  3. QueryDsl의 사용으로 동적 쿼리 작성이 엄청 편해진 것을 느낄 수 있었다.
  4. Docker file을 작성하여 java gradle 프로젝트를 배포해보는 경험을 할 수 있었다.
  5. 실제 도메인을 결제하여 실제로 url의 도메인으로 접근하며 운영하는 경험을 할 수 있었다.
  6. 프로젝트를 진행하면서 부모님의 요구사항에 맞춰서 프로젝트를 리팩토링하며 진행하는 경험을 해보았다.

💬앞으로 프로젝트에 추가하고 싶은 것들

  1. 짧은 기간에 기능만 우선 구현하려고 놓친 test code
  2. 동일한 이유로 놓친 예외 처리
  3. jenkins를 통한 ci/cd
  4. 노출되어있는 url과 db 설정들 숨기기

현재 페이지

판매 사이트


관리자

현재는 이런 모습인데 앞으로 바꿔나가 보자!

profile
해당 주소로 이전하였습니다. 감사합니다. https://ililil9482.tistory.com

0개의 댓글