동기
JPA에 대해 연습할 겸 프로젝트를 만들어볼까 생각하게 되었다.
나의 취미는 게임이다.. 게임하면서 느끼는 거지만 나처럼 친구 없는 사람들 같이 게임할 수 있게 하는 플랫폼이 있었으면 좋겠다는 생각이 들었다.
그래서 게임하는 사람들을 연결해 주는 어플이 있었으면 해서 만들어 보기로 했다.
인스타그램처럼 피드를 올려서 인원 모집 등 자랑할 수 있는 게임의 인스타그램 같은 걸 하는 프로젝트다.
기능
- 유저 및 관리자 인증기능
- 회원가입(이메일인증), 로그인, 로그아웃
- 유저 프로필 관리
- 사진 변경 및 비밀번호 변경, 회원탈퇴
- 비밀번호 수정 시 기존 비밀번호 입력 및 수정비밀번호 입력해서 수정하는 과정 필요
- 게시물 CRUD 기능
- 게시물 작성, 조회, 수정, 삭제 기능
- 게시물 작성 수정 삭제 시 새로고침 기능
- 뉴스 피드 기능
- 뉴스피드 페이지 전체조회
- 추가기능
- 개발하면서 추가적으로 필요한 기능 추가할 예정
API 명세
추후 작성하겠다...
지금은 JPA 연습을 목적으로 하는 것이기 때문에...ㅎㅎ
ERD
이 부분도 추후 작성하겠다.
위와 같은 사유..ㅎㅎ
와이어 프레임
이부분도 마찬가지로 추후 작성하겠다.
제작 과정
제작 과정은 설명이 많은 부족하고 현재 나의 컴퓨터 세팅 환경에 맞춰 설명을 하는 것이기 때문에 일부 사용자와 다른 부분이 있을 수 있습니다.
프로젝트 생성
먼저 인텔리제이부터 켜서 새로운 프로젝트를 만들 것이다.
스프링환경에서 만들 것이기 때문에 Spring Initializr로 프로젝트를 생성한다.
위와 같이 세팅을 하고 다음을 눌러준다.
생성된 프로젝트에서 우리가 사용할 라이브러리들을 추가한다.
해당 라이브러리에 대한 기능들은 다음과 같다.
+추후 해당 라이브러리에 대한 기능설명 추가할 것입니다.
- Spring boot DevTools
- Lombok
- Spring Web
- 톰캣.. 등등 내용 추가
- Spring Data JPA
- Thymelaf
- MySQL Driver
- Validation
- Spring Security
해당 기능들을 추가해 주고 생성을 클릭하여 라이브러리를 추가한 프로젝트를 만들어준다.
위와 같이 생성된 프로젝트를 가지고 JPA CRUD를 만들어볼 것이다.
만들기 전 깃허브에 커밋먼저 하고 진행하겠다.
프로젝트 깃허브에 커밋하기
상단의 Git 탭을 클릭 후 깃허브에 프로젝트 공유를 눌러준다.
상단 탭 Git(G) -> GitHub -> GitHub에 프로젝트 공유 클릭
그러면 해당 창이 나오는데 간단한 설명을 적고 공유를 눌러준다.(공개 여부는 본인 마음대로ㅎㅎ)
공유버튼을 클릭하면 다음과 같이 초기 커밋 창이 나오는데 수정사항 및 코드 진행한 사항이 없으니 커밋 메시지는 그대로 두고 추가하겠다.
그러면 메인창에서 좌측 하단에 git 탭을 클릭하면 커밋된 내역을 확인할 수 있다.
커밋이 잘 되었다.
더 잘 되었는지 확인하고 싶다면 본인 깃허브에 등록되었는지 확인하면 된다.
게시글 CRUD 서버 만들기
이제 웹을 만들기 위한 뼈대(기초설정 세팅?)를 만들었다.
이제 게시글 생성, 조회, 수정, 삭제(CRUD)를 만들어보자.
먼저 각각의 패키지를 만들고 그 안에 클래스를 넣는 형태로 진행하겠다.
- controller
- entity
- dto
- service
- repository
패키지들을 만들어준다.
아직 글로 설명하는데 있어 어려움이있어 각 폴더에 작성한 코드들을 보여주고 이하 생략하겠습니다.
내일 이어서 작성할게요!!
'내배캠_Spring _3기 > 프로젝트' 카테고리의 다른 글
[프로젝트] Burrow 익명사이트 만들기 - 1 (1) | 2023.12.05 |
---|---|
[프로젝트] (Spring 개인연습) GamerGram 프로젝트 만들기 - 2 (1) | 2023.11.29 |
[프로젝트] (Spring 팀과제) 뉴스 피드 프로젝트 만들기-4 (0) | 2023.11.27 |
[프로젝트] (Spring 팀과제) 뉴스 피드 프로젝트 만들기-3 (0) | 2023.11.24 |
[프로젝트] (Spring 팀과제) 뉴스 피드 프로젝트 만들기-2 (0) | 2023.11.23 |