Skip to content

MomsWay 팀 프로젝트 (커뮤니티 게시판 서비스)

Notifications You must be signed in to change notification settings

loveyrooney/MomsWay

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐸MOMSWAY

logo2

🐸프로젝트 소개

모든 길은 맘스웨이로 통합니다.

맘스웨이는 "교육 카페"와 "지역 카페"가 결합된 학부모 커뮤니티입니다.
맘스웨이에서 학부모님들은 학원 정보는 물론, 학습 및 학교 관련 정보를 활발하게 교류할 수 있습니다.

프로젝트 목표

효과적인 학원 홍보 / 학부모 간의 소통 / 이용자 특전

  • 주요 고객층에게 효과적으로 학원을 홍보할 수 있는 플랫폼의 역할을 합니다.
  • 같은 고민을 가진 학부모들과 대화하고 정보를 공유하며 유대감을 형성합니다
  • 커뮤니티 이용자에게만 제공되는 이벤트 및 무료 특강 기회를 제공합니다.

🐸 팀원

이름 역할 연락처 GitHub
황현준 마이페이지, 입시게시판 [email protected] 황현준
김혜연 학원홍보, 공지게시판 [email protected] 김혜연
은 별 메인페이지, 회원기능 [email protected] 은 별
홍유나 신고기능 [email protected] 홍유나

🐸 기술스택

Spring Boot Spring Security QueryDSL JPA Thymeleaf MariaDB
HTML CSS JavaScript AJAX
AWS EC2 AWS RDS API IntelliJ IDEA GitHub Figma

🐸 WBS

프로젝트 기간 : 2024.06.19 ~ 2024.06.30

wbs

🐸프로젝트 주요이슈

CASCADE 남용 - DB connection pool overflow 문제 발생

  • 회원 탈퇴 시, 테이블에서 회원 삭제 후 연관된 모든 테이블 cascade 했던 기존 구현
  • 💡 cascade 속성 사용하지 않고 탈퇴회원의 비밀번호만 삭제하여 탈퇴처리
  • 신고 처리 시, 테이블에서 해당 글 삭제 후 연관된 모든 테이블 cascade 했던 기존 구현
  • 💡 cascade 속성 사용하지 않고 orphanRemoval 조건만 설정

Page Template 공유하여 사용할 시 협업의 어려움

  • 입시 게시판과 학원/공지 게시판의 이미지 수정 부분의 로직 충돌 발생
  • 💡 서로가 구현한 내용 모두 이해한 뒤, 최소한의 변경으로 해결
  • 📌 공유할 템플릿의 최초 설계를 어떤 방식으로 해야할 지 알게됨

Exception 관련 이슈

  • 글 수정/삭제 접근 url에 글번호만 알면 같은 권한의 다른 유저가 수정/삭제 url에 접근이 가능한 문제 발생
  • 💡 해당 메서드마다 authentication 체크하여 작성자 혹은 관리자만 접근 가능하도록 함
  • 💡 그 외의 접근 시도들은 에러 페이지 리턴하는 CustomException 처리
  • 💡 CustomException 은 DB 리턴이 null이거나, parameter 가 null 이거나 type 오류인 경우, 405 상황 등에 적용함

🐸 유스케이스 다이어그램

스크린샷 2024-06-18 203359

🐸 ERD

momsway_erd

🐸 엔티티 설계

entities

🐸 클래스 다이어그램

dtos entity3개 likeClassDiagram reportClassDiagram

🐸 시퀀스 다이어그램

LikeServiceImpl_insertLike reportseq

About

MomsWay 팀 프로젝트 (커뮤니티 게시판 서비스)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 52.6%
  • HTML 25.7%
  • CSS 13.9%
  • JavaScript 7.8%