국비교육

국비지원 75일차 [팀프로젝트 - 여행동행사이트(회원관련기능)]

재밌는개발러 2023. 12. 12. 22:29

@근래 잠시 블로그 활동이 뜸했었는데  팀프로젝트준비로 인해 블로그를 못썼던것같다. 

우선 아직 정리되지않는 개념과 정말 겉핡기로 배운 스프링으로 팀프로젝트를 하려고 하니 어떻게 시작해야될지 테이블을 어떻게 짜야될지 , sql문을 어떻게 짜야될지 , 정보를 어떻게 넘겨주고 받는건지  지금도 어렵지만 아예 처음에 시작했을때와 비교하면 그나마 왜 이렇게 데이터가 흘러갔는지 정도는 알것같지만, 아직 많이 부족하다는걸 느끼고있다...

팀프로젝트동안 팀원들한테 민폐가 안되려고 하루하루 밤새가면서 아예 백도화지에 수를 놓는것처럼 하나하나 찾아보면서 개발을 했던것같다. 분명 쉬운 회원가입관련해서 crud 를 짜는건데도  그동안 팀프로젝트를 준비한 결과와 앞으로 부족한부분들 취업을 하기위해 공부해야되는것들을 다뤄볼생각이다.

※ BlueHorizon - 2023.11 팀프로젝트

프로젝트소개

- 유현한 정보교환과 '동행 신청' 이라는 기능을 이용한 소셜 네트워킹이 가능한 패키지 판매사이트

 

기획의도

- 벤치마킹 사이트 : 템플스테이

- 커뮤니티 메뉴 내에 체험 후기를 작성하는 게시판이 존재하지만, 이미지 업로드 등이 불가능 하기때문에 이용자가 보기에 시작적으로 흥미가 가지않음,

- '템플' 이라는 테마에 한정되어 있기 때문에 이용자가 그외의 체험을 원할때는 다른 사이트를 이용할 수 밖에 없는 한계가있음.

 

사용기술

  • Java
  • Spring
  • MyBatis
  • MySql
  • html
  • css
  • jQuery
  • JS

역할

백엔드

  • 로그인,회원가입, 회원정보수정, 회원탈퇴
  • 웹 화면 프론트 부분도 같이 구현했음
  • 기타 문서작업
  • GIT - 소스트리활용

회원가입 페이지 작업

- 회원가입

  • 아이디 중복검사시 해당ID 가 DB에 없으면 "사용가능한 아이디입니다." 메세지띄워주고, 있으면 "이미 사용중인 아이디입니다." 라는 메세지를 띄워줍니다.
  • 중복검사,유효성검사완료하고 회원가입 클릭하면 하면 DB에 새로운 데이터가 저장됩니다.

로그인 페이지 작업

- 로그인

  • 로그인 버튼 클릭시 입력한ID가 DB에 있는 ID 인지 확인하고 있으면 "로그인 되었습니다." 메세지띄워주고, 없으면 "일치하는 회원정보가 없습니다."라는 메세지를 띄워줍니다.

아이디찾기 페이지 작업

- 아이디찾기

  • 아이디찾기버튼 클릭시 아이디찾기 페이지 나오고 이름과 이메일을 입력해서 DB에 데이터가있으면 해당정보의 ID를 알려줍니다. 데이터가 없으면 "조회결과가 없습니다." 라고 알려줍니다.

비밀번호찾기 페이지 작업

- 비밀번호찾기

  • 비밀번호 찾기 페이지에서 ID,이름,이메일 입력해서 DB에 해당 정보가 있는지 확인한후 있으면 임의의 비밀번호를 생성해 DB에있는 해당정보의 비밀번호를 임시비밀번호로 변경시켜준다.

회원정보수정 페이지 작업

- 회원정보수정

  • 새비밀번호, 핸드폰번호, 이메일란 입력시 해당ID의 DB에있는 비밀번호, 핸드폰번호, 이메일 데이터값들이 변경됩니다.

회원탈퇴 페이지 작업

- 회원탈퇴

  • 회원탈퇴 클릭시 비밀번호 확인하는 팝업창이 나오고, 로그인한ID의 DB에있는 비밀번호 와 일치시 회원탈퇴 처리가됩니다.

프로젝트 후기

1. Git hub로 연동하는 과정에서 조작 미숙으로인한 문제가 많았음 

-> 그래도 협업하기위한 Git활용을 아주 좋다고 생각되고, 프로젝트가 끝나서 협업툴 관련공부도 다시해볼생각이다.
 
2. 아이디 중복검사 시 해당 id 부분만 처리하기 위해서 ajax를 사용해야 했는데, 
숙지 미숙으로 인해 구현의 문제가 있었음.
 -> data 타입이나, 경로등을 설정할 때 주의 깊게 봐야하고 
서버로 잘 넘어가는지에 대한 체크를 통해 문제를 해결할 수 있었음.

(ajax에 data 변수가 dto 에 있는 변수명으로 하면 dto객체로 매개변수 받을때 좋음. )

3. 개발을 하면서 html,css,js 를 다시 사용해야 했는데
기억이 잘 나지않아 시간이 지체되는 문제가 있었음.
  -> 구현하고자 하는 것들을 구글링으로 알아보며 해결할 수 있었음.

  -> html 을 jsp 로 옮기고 jstl언어와 el방식을 사용해 데이터값을 db에서 가져오는부분과, 컨트롤로 주소를 넘길때 맵핑주        소 설정법과, js나 jquery 관련 식들과 활용법에 대한 이해도와 숙련도가 부족했다.

 

4. 팀프로젝트가 끝나고 개인프로젝트할때는 게시판과 댓글관련해서 도 crud 구현해보고싶고, springboot 를 활용해서 프  로젝트도 개발할예정이다.