Spring Example: Community #10 마치며.. 프로젝트 리뷰

함형주·2023년 1월 11일
0

Spring Example : Community

목록 보기
11/11

질문, 피드백 등 모든 댓글 환영합니다.

프로젝트 리뷰

https://hhj-community.herokuapp.com 에서 프로젝트를 확인하실 수 있습니다. heroku의 저비용 서버와 무료 db 사용해 속도가 다소 느리고 첫 접속이 특히 오래 걸릴 수 있습니다.
(보안 수준이 낮아 위험할 수 있으니 체험 용도로만 사용하시길 바랍니다.)

이 프로젝트에는 검증(Validation) 로직이 포함되어있지 않습니다. 일반적이지 않은 데이터 형식으로 입력 시 오류가 발생할 수 있습니다.
(사용 중 오류 발생 시 "/?error=bad-request"으로 이동)

홈 화면 / 경로 : Get = "/"

회원 가입 / 경로 : Get = "/join", Post = "/member"

회원 가입 시 로그인 ID는 중복이 허용되지 않습니다.

  • 회원 가입 시 발생하는 쿼리 :

처음에 발생하는 select 쿼리는 exist 쿼리입니다.

로그인 / 경로 : Get = "/login", Post = "/login"

스프링 시큐리티를 이용하여 로그인 기능을 처리합니다.

  • 로그인 시 발생하는 쿼리 :

게시글 리스트 조회 / 경로 : Get = "/post"

  • 접속 시 발생하는 쿼리 :

  • 검색 조건 : 작성자, 검색어 : member1 로 검색 시 화면 :

  • 검색 조건 : 작성자, 검색어 : member1 로 검색 시 쿼리 :

처음 발생하는 select 쿼리에 where 가 알맞게 추가되었습니다.

게시글 작성 / 경로 : Get ="/post/add", Post = "/post"

  • 게시글 작성 시 발생하는 쿼리 :

게시글 조회 / 경로 : Get = "/post/{post_id}"

  • 게시글 조회 시 발생하는 쿼리 :

게시글 수정 / 경로 : Get = "/post/edit/{post_id}", Patch = "/post/{post_id}"

  • 게시글 수정 페이지 조회 시 발생하는 쿼리 :

  • 게시글 수정 시 발생하는 쿼리 :

댓글 작성 / 경로 : Post = "/post/{post_id}/comment"

  • 댓글 작성 시 발생하는 쿼리 :

댓글 수정 / 경로 : Get = "/post/{post_id}/comment/edit/{comment_id}",
Post = "/post/{post_id}/comment/{comment_id}"

  • 댓글 수정 페이지 조회 시 발생하는 쿼리 :

  • 댓글 수정 시 발생하는 쿼리 :

좋아요 생성 및 취소 / 경로 : Post = "/post/{post_id}/heart"

좋아요 버튼 클릭 시 상단의 좋아요 0 -> 1로 증가

  • 좋아요 생성 시 발생하는 쿼리 :

이미 좋아요 등록한 게시글의 좋아요 버튼 클릭 시 상단의 좋아요 1 -> 0로 감소

  • 좋아요 취소 시 발생하는 쿼리 :

댓글 삭제 / 경로 : Delete = "/post/{post_id}/comment/{comment_id}"

  • 댓글 삭제 시 발생하는 쿼리 :

게시글 삭제 / 경로 : Delete = "/post/{post_id}"

  • 게시글 삭제 시 발생하는 쿼리 :

회원 탈퇴 / 경로 : Delete = "/member/{member_id}"

  • 회원 탈퇴 시 발생하는 쿼리 :
  1. 회원이 작성한 댓글, 좋아요 삭제
  2. 회원이 작성한 게시글에 등록된 댓글, 좋아요 삭제
  3. 회원이 작성한 게시글 삭제
  4. 회원 삭제

마치며..

2022.12.20 부터 시작한 프로젝트가 한 해를 넘기고 2023.01.11에 끝났습니다.(개발 + 블로깅) 프로젝트 주제가 대부분의 서비스의 기초라고 할 수 있는 게시판 예제였으나 이를 혼자 진행하니 쉽지 않았습니다. 특히 모르는 내용을 검색하더라도 다른 사람이 작성한 게시판 관련된 코드를 최대한 읽지 않았기에 더 시간이 걸리고 어려웠을 수 있습니다. 비록 쉬운 문제였을지라도 정말 많은 시간을 고민하고 이를 해결하면서 문제를 풀어나가는 것, 더 나아가 '개발'이 적성에 맞고 재밌음을 다시금 확인하는 계기가 된 것 같습니다. 두 번의 개인 프로젝트를 통해 이전에 공부했던 내용을 더욱 확실히 익히고 새롭게 마주한 문제를 해결하며 개발 지식도, 개발 경험도 성장함을 느껴 뿌듯함을 느낍니다.

지난 프로젝트를 진행하며 기획의 중요성을 깨달았다고 블로그에 작성했었는데 이번에는 완전 반대였습니다. 개발 관련 정보를 검색하며 프로젝트 진행 시 기획을 신경쓰기보다 일단 진행하는 것이 프로젝트를 완료하는데 유리하다는 영상을 본 기억이 있습니다. 이번에 프로젝트를 진행할 때에는 메모장에 이것저것 대충 끄적이는 수준으로만 기획하고 프로젝트를 진행하였는데 혼자 프로젝트를 진행해서 그런지 이런 부분에서는 막힘 없이 개발이 진행되었습니다. 지난 프로젝트에선 처음에 기획한 내용에 너무 생각이 갖혀 오히려 문제를 해결하기 위한 다양한 시도를 꺼리게 된건 아닐까 생각됩니다.
물론 여러 명이서 팀 프로젝트를 진행할 때에는 서로의 역할을 구분하고 그에 따라 api, git 등의 개발 방식의 합의가 필요하기에 이런 부분을 명확히 하고 넘어가야 하겠습니다만, 혼자서 무언가를 시도할 때에는 일단 부딪혀 가며 성과를 내는 것도 좋을 수 있다고 생각합니다.

github , 배포 URL (첫 접속 시 로딩이 걸릴 수 있습니다.)

profile
평범한 대학생의 공부 일기?

0개의 댓글