Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

495 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PageOn

웹툰 / 웹소설 / 도서​ 리뷰 & 추천 플랫폼 페이지온

멀티캠퍼스 백엔드 개발자 부트캠프(스프링) 프로젝트 경진대회 우수상

PageOn 로고
웹툰부터 도서까지, 취향에 꼭 맞는 콘텐츠를 한 번에!


팀 소개 👥

다다익선(The More, The Better)

  • 멀티캠퍼스 백엔드 개발자 부트캠프(스프링) 1조
  • 팀 구성: 백엔드 개발자 6인
  • 여러 팀 가운데 인원수가 가장 많은 우리팀의 특성을 살려, '인원이 많을수록 좋다'라는 의미를 담음

프로젝트 소개 📝

기획 의도&배경

웹툰, 웹소설은 각 플랫폼마다 콘텐츠가 분산되어 있어, 사용자가 원하는 작품을 찾기 위해 여러 사이트를 방문하여 작품을 검색하고 리뷰를 탐색하는 번거로움을 겪게 됨
➡️ 이러한 불편함을 해결하기 위해 웹툰과 웹소설은 물론 도서까지 다양한 콘텐츠를 한 곳에서 쉽게 탐색할 수 있고, 개인화된 콘텐츠 추천 기능을 제공하는 서비스를 기획

DB 설계

ERD PageOn ERD

프로젝트 기간

2024-09-26 ~ 2024-11-11

프로젝트 목표

  • 다양한 플랫폼의 웹툰, 웹소설 그리고 도서 리뷰를 한 곳에서 확인할 수 있게 함
  • 독자 간 소통의 장소 제공⁠⁠​
  • 개인화된 컨텐츠 추천⁠​

사용 기술

JavaSpring BootMySQLMyBatisJavascriptThymeleafCSS3Git


PageOn 주요 기능 📌

  • 여러 플랫폼의 콘텐츠 통합 탐색

사용자 인터페이스 - 여러 플랫폼의 작품을 한번에 탐색

  • 개인화된 작품 추천

사용자 인터페이스 - 개인화된 작품 추천

  • 독자 커뮤니티 기능, 리뷰 기능(감정분석 API 활용), 토론 기능

사용자 인터페이스 - 커뮤니티 공간

  • 회원 관리 및 서재 기능

사용자 인터페이스 - 회원 기능

프로젝트 진행 소감 💬

김다빈발생된 오류를 해결하는 과정에서 생각보다 많은 시간이 소요되었습니다. 같은 오류가 발생하더라도 빠르게 해결하기 위해 발생된 오류를 필기해두며 비슷한 오류가 발생해도 시간 소모가 많이 줄어들었습니다. 이렇게 필기하는 습관을 들이며 오류와 기능 구현하면서 계획했던 소요시간과 큰 오차가 생기지 않게 노력했습니다. 또한, 많은 인원이 하나의 프로젝트를 완성하기에 Notion과 git과 같은 협업tool를 사용하여 자료를 정리하고 보완하면서 사용된 협업tool에 익숙해지는 계기가 되었습니다. 이러한 프로젝트 과정을 통해 다른 팀원이 개발한 기능도 복습하고 이해하며 여러 명의 팀원들과 프로젝트를 진행하는 것은 혼자 프로젝트를 진행하던거와 달리 소통이 중요하다는 것을 깨닫고 여러 차례의 회의를 진행하면서 함께 오류를 해결하고 완성도 있는 프로젝트를 만드는데 뿌듯함을 느꼈습니다. ​
김규년 프로젝트를 진행하면서 초반에 세운 기획과 의도는 명확하게 잘 정해졌으나, 실제 개발이 시작되면서 새로운 기술과 기능들을 추가할 때마다 예상보다 많은 시간과 노력이 소요되었음을 깨닫게 되었습니다. 특히, 시큐리티와 스프링 캐싱 등의 기술을 활용하면서 새로운 기술들을 경험하였고 이러한 경험들이 제게 큰 성장을 가져다주었습니다. 또한, 협업을 통해 서로의 의견을 나누고 문제를 해결하는 과정에서 많은 것을 배우고, 팀워크의 중요성을 깨닫게 되었습니다. 전반적으로 매우 유익한 프로젝트였으며, 개인적으로나 팀원들과 함께 성장할 수 있는 기회가 되었던 것 같습니다.​
김시윤 팀원이 가장 많은 조에 배정되어 다양한 의견을 나누고 더 많은 기능을 제공하는 서비스를 완성할 수 있었습니다. 저는 토론 게시판과 사용자의 서재 페이지 구현, Thymeleaf 레이아웃을 맡았고, Git 버전 관리를 담당했습니다. 팀원들이 기능을 하나 둘 완성하며 마스터 브랜치에서 PageOn 서비스가 완성되는 모습을 보는 것이 무척 뜻깊었습니다. 이전에는 주로 프론트엔드만 맡아 프로젝트 완성에 직접적으로 관여하지 못했지만, 이번 프로젝트에서는 기능 단위로 프론트엔드와 백엔드를 맞춰가며 퍼즐을 완성하는 듯한 경험을 했습니다. 프로젝트 동안 팀원들의 상호 존중과 원활한 소통 덕분에 멋진 퍼즐이 완성되었습니다. 또한, 암호화, 개발 테스트, 디버깅 등의 과정을 접하며 소중한 경험을 쌓았습니다.​
박진산 이번 프로젝트에서 저는 웹툰 페이지와 게시판 구현을 맡았으며, 프로젝트를 진행하는 동안 많은 것을 배울 수 있는 시간이었습니다. 먼저 저에게는 Git 사용이 큰 도전이었습니다. 팀 협업에서 Git은 필수이지만, 저는 익숙하지 않아서 사용하는데 어려움을 겪었습니다만, 다행히 팀원들이 도와준 덕분에 점차 익숙해졌고, 협업에서 중요한 버전 관리의 기초를 다질 수 있었습니다. 개발을 진행하다 보니 초기 설계와 달라지는 부분도 생겼습니다. 예상치 못한 문제가 발생하거나 새로운 기능이 추가되면서 설계를 조금씩 수정하게 되었고, 서툴게 구현된 부분도 있었습니다. 이를 통해 다음에는 더 철저한 설계와 유연한 계획이 필요하다는 것을 배우게 되었습니다.특히 웹툰 API 연동 작업은 어려웠지만, 여러 차례 시행착오 끝에 데이터를 성공적으로 연동하고 가져오게 되어 큰 보람을 느꼈습니다.​
이수민 프로젝트를 진행하면서, 설계 단계에서 미처 고려하지 못한 부분들이 실제 구현 단계에 있었습니다. 그 결과, DB 테이블을 수정하거나 기존 클래스 다이어그램에 없던 항목들을 추가하는 상황이 발생했습니다. 설계에서 크게 변경되지 않은 부분은 구현 과정에서 비교적 원활하게 진행되었지만, 설계가 미흡했던 부분은 예상치 못한 오류가 자주 발생하여 개발 속도에 영향을 주었습니다. 물론 전반적인 기능에 대해서는 생각대로 개발할 수 있었고, 분배 받은 파트의 기능들을 정해진 기간내에 개발 완료할 수 있어 큰 보람을 느꼈습니다. 이 경험을 통해 설계의 중요성을 다시 한번 절감하게 되었고 추후 프로젝트에서는 더 철저하고 꼼꼼한 설계를 통해, 구현 단계에서의 오류를 줄이고 효율적으로 개발을 진행할 수 있도록 노력해야겠다는 교훈을 얻을 수 있었습니다.​
홍석표 프로젝트 초반에는 주어진 기간 안에 모든 기능과 페이지를 완성하고 원활하게 통합할 수 있을지에 대한 우려가 있었습니다. 실제 개발을 시작하니, 예상하지 못했던 문제들이 발생했습니다. 특히 데이터베이스 테이블의 속성 변경이나 기능 간 연동에서의 오류가 발생하면서, 계획보다 시간이 지체됐던 부분도 있었습니다. 다행히 기능 분석, 유스케이스 다이어그램, 와이어프레임 등의 주요 설계를 사전에 충분히 준비해 둔 덕분에, 어려운 상황에서도 비교적 효율적으로 개발을 진행할 수 있었습니다. 이를 통해 철저한 설계의 중요성을 다시금 깨달았고, 앞으로의 프로젝트에서도 설계 단계에 더욱 집중할 필요성을 느꼈습니다. 개발 중에는 각자 맡은 기능을 완성한 뒤 깃허브를 통해 피드백을 주고받으며 보완 작업을 이어갔습니다. 이 과정에서 부족한 점이 명확히 드러났고, 수정하는 과정에서 기술적 성장과 협업의 중요성을 깊이 배웠습니다. 특히, 서로의 의견을 존중하고 소통하는 것이 프로젝트의 성공에 얼마나 중요한지 깨달은 값진 경험이었습니다.​

About

백엔드 개발자 부트캠프(스프링) 1조 최종 프로젝트 PageOn - 웹툰 / 웹소설 / 도서​ 리뷰 플랫폼 💻 Tech Stack: Java, Spring Boot, Thymeleaf, MySQL, MyBatis

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages