Project/팀프로젝트

[페어 프로젝트] KBO 입문자들을 위한 팬 커뮤니티, BUNT

prao 2024. 5. 29. 20:37
반응형

2024년 1월 SSAFY를 시작하고 1학기 최종 프로젝트로 KBO 입문자들을 위한 팬 커뮤니티를 만들어보고자 생각했고, 총 8일의 기간동안 설계부터 발표까지(배포는 하지 못했다) 완료하였다. 페어와 나 모두 프론트엔드에 능숙하지 못해서 백엔드보다 프론트엔드에 훨씬 많은 시간을 뺐겨서 처음에 넣고 싶었던 기능들을 모두 넣지는 못한 것이 아쉽다. 6월 잡페어 기간동안 Spring MVC를 복습하고, JPA, Security를 학습할 계획이기에 공부를 하면서 이번에 만들었던 프로젝트를 조금씩 디벨롭하는 것이 목표다. 프로젝트의 전체 코드는 깃허브 링크를 남기고 프로젝트 내용은 아래 게시글과 같다.

 

아쉬웠던 점은 다음과 같다.

  1. 우선 Security에 대해 잘 알지 못해서 로그인 부분에 JWT로만 처리했다는 점이다. 짧은 시간에 Security를 공부해서 적용시켜보고 싶었는데 생각보다 양이 많은 부분이라 적용시키지 못했다. 시간이 있을 때 이론부터 차근차근 공부해보려 한다.
  2. 간단한 CRUD가 아닌, 고민이 필요한 로직을 설계해보고 싶었는데 그러지 못했다. 시간이 촉박했고, 발표준비와 프론트엔드 완성까지 해야하다보니 우선 완성을 할 수 있는 구조로 설계를 하게 되면서 간단한 로직으로 설계를 했다. 코드를 다시 돌아보니 부족한 부분이 많이 보였기에 공부를 하면서 리팩토링을 하고자 한다.

아쉬웠던 점은 여기서 마무리하고 이제 프로젝트 소개를 하겠다.

🚩 목차

  1. 기획 배경
  2. 서비스 소개
  3. 기능 소개
  4. 기술 스택
  5. 프로젝트 일정 및 기타 산출물

기획배경

개요

  • 서비스 명칭: 번트
  • 서비스 내용: 높아지는 KBO의 인기와 함께 야구에 입문하는 야린이들을 위한 응원가, 뉴스, 게시판, 실시간 채팅, 미니게임을 제공하는 플랫폼

개발 인원

  • 2명(박창호, 이수현)

개발 일정

  • 5/16 ~ 5/23(8일)
  • 5/16 ~ 5/18(설계)
  • 5/19 ~ 5/20(백엔드 완성)
  • 5/21 ~ 5/23(프론트엔드 완성)

목적

  • 야구에 쉽게 입문할 수 있게 도와주는 역할
  • 구단별 응원가, 선수별 응원가를 쉽게 들려주고 팀 정보, 팀 뉴스, 팀 굿즈를 한 눈에 볼 수 있게 하여 야구에 대한 흥미도를 상승시키는 목적을 가진다.

현 상황

 

서비스 소개

메인

메인페이지

mainpage

구단페이지(롯데)

main_lotte

회원

로그인

login

로그아웃

logout

회원가입

join

마이페이지

mypage

관리자페이지

adminpage

뉴스

뉴스목록 & 뉴스상세

news_lotte

게시판

게시글 조회

community_visitor

게시글 작성 / 수정 / 삭제 / 추천 / 댓글(수정,삭제)(회원)

community_user

게시글 검색

search

규칙(GEMINI API)

키워드를 통한 답변 받기

rules

미니게임

숫자야구

game

실시간 채팅 API

live_chat


기술 스택

Frontend

  • language: javascript
  • framework: vue.js
  • util: axios, pinia, cheerio, bootstrap

Backend

  • language: java
  • framework: springboot
  • util: MyBatis

Database

  • MySQL

Communication

  • Notion, Github

프로젝트 기타 산출물

요구사항 정의서

image

API 명세서

image

기능 명세서

image

유스케이스 다이어그램

image

시퀀스 다이어그램

image

테이블 구조도

image

패키지 구조

├── README.md
├── backend_project
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── com.baseball.bunt
│   │   │   │       ├── BuntApplication.java
│   │   │   │       ├── config
│   │   │   │       │   ├── DBConfig.java
│   │   │   │       │   ├── SecurityConfig.java
│   │   │   │       │   └── SwaggerConfig.java
│   │   │   │       ├── controller
│   │   │   │       │   ├── AdminController.java
│   │   │   │       │   ├── CommunityCommentController.java
│   │   │   │       │   ├── CommunityController.java
│   │   │   │       │   ├── GameContoller.java
│   │   │   │       │   ├── PlayerController.java
│   │   │   │       │   └── UserController.java
│   │   │   │       ├── model
│   │   │   │       │   ├── dao
│   │   │   │       │   │   ├── BaseballGameDao.java
│   │   │   │       │   │   ├── CommunityCommentDao.java
│   │   │   │       │   │   ├── CommunityDao.java
│   │   │   │       │   │   ├── LikeListDao.java
│   │   │   │       │   │   ├── PlayerDao.java
│   │   │   │       │   │   └── UserDao.java
│   │   │   │       │   ├── dto
│   │   │   │       │   │   ├── common
│   │   │   │       │   │   │   └── User.java
│   │   │   │       │   │   ├── community
│   │   │   │       │   │   │   ├── CommunityBoard.java
│   │   │   │       │   │   │   ├── CommunityBoardComment.java
│   │   │   │       │   │   │   ├── Criteria.java
│   │   │   │       │   │   │   ├── LikeList.java
│   │   │   │       │   │   │   ├── Page.java
│   │   │   │       │   │   │   └── SearchCondition.java
│   │   │   │       │   │   ├── game
│   │   │   │       │   │   │   └── BaseballGame.java
│   │   │   │       │   │   └── team
│   │   │   │       │   │       ├── Player.java
│   │   │   │       │   │       └── Team.java
│   │   │   │       │   └── service
│   │   │   │           ├── BaseballGameService.java
│   │   │   │           ├── BaseballGameServiceImpl.java
│   │   │   │           ├── CommunityCommentService.java
│   │   │   │           ├── CommunityCommentServiceImpl.java
│   │   │   │           ├── CommunityService.java
│   │   │   │           ├── CommunityServiceImpl.java
│   │   │   │           ├── LikeListService.java
│   │   │   │           ├── LikeListServiceImpl.java
│   │   │   │           ├── PlayerService.java
│   │   │   │           ├── PlayerServiceImpl.java
│   │   │   │           ├── UserService.java
│   │   │   │           └── UserServiceImpl.java
│   │   │   └── resources
│   │   │       ├── mapper
│   │   │       │   ├── commentMapper.xml
│   │   │       │   ├── communityMapper.xml
│   │   │       │   ├── gameMapper.xml
│   │   │       │   ├── likeListMapper.xml
│   │   │       │   ├── playerMapper.xml
│   │   │       │   └── userMapper.xml
│   │   │       ├── sql
│   │   │       │   ├── bunt.sql
│   │   │       │   └── dummy.sql
│   └── test
│       └── java
│           └── com.baseball.bunt
│               ├── BuntApplicationTests.java
│               └── JwtTest.java
반응형