프로젝트 기간: 2022.01.09 - 2022.01.20

개발자 취업준비를 시작하면서 포트폴리오에 대해 고민을 많이 했다. 포트폴리오를 채우려면 일단 무언가라도 만들어봐야한다는 생각에 개인프로젝트를 시작하게 되었다.

프로젝트를 진행하면서 포트폴리오에 채우고 싶은 내용은 다음과 같다

  • 프로젝트로 무엇을 만들었는지
  • 무엇을 공부했는지
  • 어떤 문제점을 겪었고
  • 어떻게 해결했는지 

구체적으로 설명하는 것이 중요하다고 생각해 프로젝트 전반적인 과정을 블로그에 기록하려한다. 

기본적인 틀은 도서스프링부트와 aws 혼자 구현하는 웹서비스 따라하면서 공부한 내용을 바탕으로 프로젝트를 진행했다. 

프로젝트 전반적인 과정은 다음과 같다 

 

1. 프로젝트 기획

2. UI

3. 게시글 등록,수정,삭제 구현

4. view 만들기 

5. google,naver 로그인 구현

6. ec2 배포 

 

개발 환경

  • Database: h2
  • language: Java 11
  • Framework: Spring
  • IDE: Intellij community ver.
  • OS: Mac Os 64bit

 

1월 9일부터 시작했던 개인프로젝트를 오늘 마무리 했다. 오늘 대략적인 부분을 기록하고, 전반적인 기록은 차차 정리해서 업로드할 예정이다. 책을 참고해서 전반적인 틀을 짜고, 화면은 이전에 기획한 내용을 기반으로 만들었다. 

작업시간은 총 8일이고, 하루에 4-5시간정도 한 것 같다. 

아직 미흡한 부분이 많아서 계속 보완해야할 것 같기는 한데, 그래도 오류없이 페이지를 만들었다는 것에 의의가 있는 것 같다. 

 

아쉬웠던 점들

  • 로그인 구현 전에 주요 화면 작업 끝내기(로그인 구현하고 하니까 로그인하고,user권한 부여하는 것 등 반복 작업 많았음)
  • 화면 구현 중에 Delete 버튼 위치 자유롭게 할 수 있는 방법 좀 더 공부해야할 것 같다
  • 후기 작성 textarea로 바꾸면서 review 값 받아오는 방법 찾아보기 
  • 화면이나,api 다루는 방법이 아직 미흡해서 그런 것 같다

 

-서버는 깃허브에 코드를 올려두었다 

github 주소: https://github.com/heyazoo1007/bookproject.git

 

-화면:

 

 

처음 메인 화면과 책 등록할 수 있는 페이지다  

 

책 등록 후 보이는 리스트와 책 이름을 클릭하면 책 후기를 볼 수 있는 페이지로 이동할 수 있다 

 

 

 

update를 누르면 게시글을 수정하거나 delete할 수 있다 

 

 

 

1.

 

2.

1번 사진의 코드 때문에 2번의 오류가 발생했다.

 

코드를 다음과 같이 수정했더니 문제 해결되었다.

+ id가 null 오류도 같이 발생해서 @PathVariable Long id 추가( 저장되어있는 책의 Id의 정보를 불러와야하므로 추가했어야 했던 코드)

 

3.

-기능 

  1. 로그인/회원가입
  2. 등록하기(Create)
  3. 조회(Read)
  4. 수정하기(Update)
  5. 삭제하기(Delete)

 

-API 설정

이거는 추후에 정리할 예정이다 

 

-ERD,테이블 설정 

  • User(원래는 직접 로그인 시스템 구현하려고 했으나, 구글 api 를 이용해서 로그인을 구현할 예정이다)
  • Id: 유저 아이디
  • nickName : 페이지에서 사용될 이름
  • pw: 비밀번호
  • bookShelf: 사용자의 책정보 

 

  • Book(나중에 Post로 이름 바꿈)
  • Id: 책 구별하는 id
  • author/publisher/bookTitle: 책의 기본정보
  • category: 책의 카테고리 분류하기 위해서 
  • check: 책 완독 여부 확인
  • review: 사용자가 작성하는 책 후기 
  • startDate/endDate:  책 읽기 시작한 날짜와 끝낸 날짜 

 

 

  • 한 명의 사용자는 여러권의 책을 등록 할 수 있으므로 user와 book의 관계는 1:N 관계이다 
  • 변수명은 camelCase로 작성할 예정

+ Recent posts