구현 기능
USER
회원가입
로그인(구글/카카오/네이버)
마이페이지
비밀번호변경
전화번호변경
이메일 인증
전화인증
비밀번호 찾기
회원 탈퇴
RESERVATION
당일 예약 시스템
아임 포트를 이용한 결제 시스템
(아임 포트 api호출)
예약 내역 페이지 예약 변경/취소가능
예약 히스토리 구현
예약 내역 이메일/문자전송
BOARD
글쓰기
글 검색
글 수정
글 삭제
조회수
댓글 쓰기
댓글 삭제
댓글 수정
답글을 제외한 목표 기능들을
얼추 구현해냈다
물론 막바지 결제 시스템을 추가하면서
코드도 지저분해지고 멘털도 많이 나갔지만
제대로 작동할 수는 있게 해 놨다!
첫 번째 스프링 부트
토이 프로젝트였다
정말 재밌었고
정말 힘들었다
특히 첫 api호출은
정말 기분이.... 너무 좋았다
막연히 도대체 api는 뭘까
라는 생각이 쓰면 쓸수록
아직 정확히 말할 수는 없지만
"아 이런 거구나 "라고 몸에
느껴지는 기분이 정말 좋았다
그리고 왜 함수를 하나하나
디테일하게 만드는 줄 알았다
예를 들어 예약 취소 시스템을 만들 때
예약 취소 안에 db호출 로직을 써놓는 게 아니라
db호출 로직은 따로 함수로 만들고 예약 취소가
이뤄 날 때 호출하는 식으로 사용해야
다시 효율적으로 다른 부분에서 또 사용이 가능하다는 걸
아주 잘 느꼈다
예외처리는
상당히 공부가 많이 필요할 거 같다
예외를 어디서 터트리는지
어떻게 처리해야 하는지 중요한 거 같다
프런트와 통신은
정말 중요했다
혼자 만들다 보니
이걸 서버에서 json으로 줘야 해..
아니면 boolean으로 줘야 해 아니면...
진짜 협업을 하면서 차라리 규칙을 서로
상의하면서 딱딱 정해서 만들고 싶다는
생각이 간절했다
그래서 그런지 프런트는 더 엉망으로
만들어진 거 같다
디자인이 문제가 아니라 서버와 통신하는
방식이 무분별하게 만들어 논거 같다
j쿼리는
너무나 편리했다
바닐라 js를 써야 한다 이런 이야기가 있어서
최대한 바닐라로 만들려고 했지만
다음 프로젝트는 깔끔하게 그냥 j쿼리로만
만들 생각이다!
컨트롤러는...
거의 service가 되어버렸다...
너무 지저분하다 ㅋㅋㅋㅋㅋ
이제 새로운 토이 프로젝트를 할 것이다
kimsShop 홈쇼핑 같은 사이트이고
주소까지 다루면서 가능하다면
배송추적 api까지 구현해보고 싶다
의존성은
정말 중요하고 또 중요하다
의존성이 있냐 없냐에 따라서
정말 코드 난이도가 달라진다
예를 들어 coolsms처럼 문자
서비스를 하려는 경우
implementation group: 'net.nurigo', name: 'javaSDK', version: '2.2'
의존성이 존재하지 않다면 훨씬 힘들게
api를 사용해야 한다
api호출은
해보기 너무 잘한 거 같다
이전에는 개발자 센터에 들어가서
정말 이거 어떻게 하는 거지
공식 문서를 읽을 생각 조차 하지 않고
"그냥 어떻게 하는 건데" 이 생각이 들었다
현재는 다르다 api호출 기본 시스템은
사이트마다 비슷하다는 걸 깨달았고
네이버 로그인/카카오 로그인만 돼도
뭔가 내가 홈페이지 하나 제대로 개발한
기분이 난다 ㅋㅋㅋㅋ
버그는
정말~~~~ 많고 잡기 어렵다
프로젝트 종료를 선언했지만
프로젝트 선언과 별개로
버그는 존재한다
그냥 새판에서 새롭게
더 아름다운 코드를 짜고 싶어서
종료하는 거지 절대 kimscafe가
완벽해서 끝내는 것이 아니다!
다음 프로젝트는
kim's Shop으로
홈쇼핑 비슷하게
흉내 내 볼 예정이다
좀 더 많은 api를 직접 구현해서
주소 그리고 더 가능하다면
배송추적 그리고 진짜 가능하다면
jwt 토큰 방식 로그인을 해보고 싶다
그리고
최근에 전자정부 프레임워크라는 걸
발견했다
음... 스프링 기반이라고 하던데
jpa는 아닌 거 같고...
그걸 먼저 해봐야 할지 고민이 했다
결론은
일단 해보고 싶은 거 만들어보고 싶은걸
만들어보고 하는 게 맞는 거 같다
고생했다
코로나 격리시설에서
많은 걸 배웠다
이제 집에 왔으니
몸 관리 잘하면서
더 멋진 개발자가 될 준비를
해야겠다
마지막으로
스프링 부트는 정말 편리하다
하지만 모르면 절대 못쓴다
jsp->jstl->jdbc까지 수업을
듣고 spring을 혼자 vscode로
독학 중인데 정말 사용할 줄만 알면
신세계 같다
다만 처음에는 쿼리 던지는 것조차
어떻게 하는 건지 모르겠고
db연동도 알아서 해주는데
"그래서 어떻게 해야 알아서 해주는 건데?"
즉 구글신이 없었다면
절대 사용하지 못했을 거 같다 ㅋㅋㅋ
최종 깃허브
https://github.com/novb1492/blogkimscafe
'Spring boot kim's cafe' 카테고리의 다른 글
Spingboot 예외처리! with @RestControllerAdvice and @ExceptionHandler (0) | 2021.06.22 |
---|---|
Springboot js파일정리! (0) | 2021.06.18 |
Springboot 권한! with ENUM (0) | 2021.06.16 |
Spring boot! 시작을 위한 의존성주입! with vscode (0) | 2021.06.13 |