Project/팀프로젝트
[페어 프로젝트] KBO 입문자들을 위한 팬 커뮤니티, BUNT
prao
2024. 5. 29. 20:37
반응형
2024년 1월 SSAFY를 시작하고 1학기 최종 프로젝트로 KBO 입문자들을 위한 팬 커뮤니티를 만들어보고자 생각했고, 총 8일의 기간동안 설계부터 발표까지(배포는 하지 못했다) 완료하였다. 페어와 나 모두 프론트엔드에 능숙하지 못해서 백엔드보다 프론트엔드에 훨씬 많은 시간을 뺐겨서 처음에 넣고 싶었던 기능들을 모두 넣지는 못한 것이 아쉽다. 6월 잡페어 기간동안 Spring MVC를 복습하고, JPA, Security를 학습할 계획이기에 공부를 하면서 이번에 만들었던 프로젝트를 조금씩 디벨롭하는 것이 목표다. 프로젝트의 전체 코드는 깃허브 링크를 남기고 프로젝트 내용은 아래 게시글과 같다.
아쉬웠던 점은 다음과 같다.
- 우선 Security에 대해 잘 알지 못해서 로그인 부분에 JWT로만 처리했다는 점이다. 짧은 시간에 Security를 공부해서 적용시켜보고 싶었는데 생각보다 양이 많은 부분이라 적용시키지 못했다. 시간이 있을 때 이론부터 차근차근 공부해보려 한다.
- 간단한 CRUD가 아닌, 고민이 필요한 로직을 설계해보고 싶었는데 그러지 못했다. 시간이 촉박했고, 발표준비와 프론트엔드 완성까지 해야하다보니 우선 완성을 할 수 있는 구조로 설계를 하게 되면서 간단한 로직으로 설계를 했다. 코드를 다시 돌아보니 부족한 부분이 많이 보였기에 공부를 하면서 리팩토링을 하고자 한다.
아쉬웠던 점은 여기서 마무리하고 이제 프로젝트 소개를 하겠다.
🚩 목차
- 기획 배경
- 서비스 소개
- 기능 소개
- 기술 스택
- 프로젝트 일정 및 기타 산출물
기획배경
개요
- 서비스 명칭: 번트
- 서비스 내용: 높아지는 KBO의 인기와 함께 야구에 입문하는 야린이들을 위한 응원가, 뉴스, 게시판, 실시간 채팅, 미니게임을 제공하는 플랫폼
개발 인원
- 2명(박창호, 이수현)
개발 일정
- 5/16 ~ 5/23(8일)
- 5/16 ~ 5/18(설계)
- 5/19 ~ 5/20(백엔드 완성)
- 5/21 ~ 5/23(프론트엔드 완성)
목적
- 야구에 쉽게 입문할 수 있게 도와주는 역할
- 구단별 응원가, 선수별 응원가를 쉽게 들려주고 팀 정보, 팀 뉴스, 팀 굿즈를 한 눈에 볼 수 있게 하여 야구에 대한 흥미도를 상승시키는 목적을 가진다.
현 상황
- 역대급 KBO 흥행
서비스 소개
메인
메인페이지
구단페이지(롯데)
회원
로그인
로그아웃
회원가입
마이페이지
관리자페이지
뉴스
뉴스목록 & 뉴스상세
게시판
게시글 조회
게시글 작성 / 수정 / 삭제 / 추천 / 댓글(수정,삭제)(회원)
게시글 검색
규칙(GEMINI API)
키워드를 통한 답변 받기
미니게임
숫자야구
실시간 채팅 API
기술 스택
Frontend
- language: javascript
- framework: vue.js
- util: axios, pinia, cheerio, bootstrap
Backend
- language: java
- framework: springboot
- util: MyBatis
Database
- MySQL
Communication
- Notion, Github
프로젝트 기타 산출물
요구사항 정의서
API 명세서
기능 명세서
유스케이스 다이어그램
시퀀스 다이어그램
테이블 구조도
패키지 구조
├── 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
반응형