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
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글