Skip to content

dhyunee/ModooStock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

모두의주식로고

📈 모두의 주식

⚡말랑말랑 (부울경 2반 6조)

모의주식투자게임

프로젝트 기간 : 2023.04.10 - 2023.05.19


🌳 프로젝트 개요

프로젝트 기간

  • 기획 및 설계 : 2023.04.10 - 2023.04.15
  • 프로젝트 개발 : 2023.04.17 - 2023.05.19

구성원

  • 백엔드 4명
  • 프론트엔드 2명

👍 서비스 소개

  • 주식에 관심은 있지만 주식이 어려운 사람들을 위한 가상 주식 게임입니다.
  • 뉴스, 주가, 환율 등의 정보를 토대로 주가 변동을 예측하여 매도 및 매수를 할 수 있습니다.
  • 이 게임으로 재미는 물론이고 경제적 흐름과 주식에 대한 접근성을 높일 수 있습니다.
  • 이를 통해 사용자들은 가상의 돈을 이용하여 실제 주식시장의 동향과 투자 전략을 경험하고, 경쟁적인 요소를 가지고 다른 사용자들과 함께 공부할 수 있습니다.

🔨 주요 기술 스택

✔️ Frontend

  • Node JS
  • React
  • TypeScript
  • Tailwind
  • styled-components
  • Redux-toolkit
  • RTK Query
  • Toastify-js
  • Redux-toolkit
  • ThreeJS

✔️ Backend

  • Java
  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • Swagger-ui
  • JWT
  • Gradle
  • bs4

✔️ DB

  • MySQL
  • Redis
  • Firebase

✔️ Deploy

  • AWS EC2
  • Docker
  • Docker-compose
  • Nginx
  • Jenkins

✔️ Communication

  • 형상 관리 - Gitlab
  • 이슈 및 스크럼 관리 - Jira
  • Notion
  • Discord
  • Mattermost
  • Figma

📚 목차

1️⃣ 타겟층
2️⃣ 주요 기능
3️⃣ 모두의 주식 서비스
4️⃣ 실행방법
5️⃣ 팀 구성
6️⃣ 기술 아키텍쳐
7️⃣ ERD 다이어그램
8️⃣ API 명세서


😮 타겟층

✔ 주식시장에 대한 기본적인 이해와 경험이 부족한 초보 투자자인 전 연령층
✔ 게임을 통해 쉽고 재미있게 주식투자에 대한 기본 개념을 배우고 싶은 학생 및 초보 투자자들

👍 주요 기능

구분 기능 설명 비고
1 주식 거래소 - 회원이 시장 지표와 정보를 이용해 원하는 주식을 매도/매수 할 수 있다.
- 뉴스스크랩(보유 뉴스) 조회 가능
SSE로 주식 차트 반환
2 정보 거래소 - 회원이 주식에 대한 정보를 게임 머니를 이용하여 살 수 있다. 크롤링을 활용한 회사정보(IR), 뉴스 기사 정보를 수집 및 데이터 가공
3 뽑기 상점 - 3가지 뽑기 ( 일반, 고급, 전설)를 선택하여 아이템을 뽑을 수 있다.
4 경매장 - 다른 사용자들이 경매장에 올린 아이템을 구입할 수 있다.
5 랭킹 - 총 자산(은행 예산 + 지갑 돈 + 보유 주식 + ASSET 보유 자산)을 토대로 랭킹을 매겨 확인 가능
- ASSET보유자산 : 내가 뽑은 꾸미기 아이템의 가치
Redis로 랭킹 반환 성능 향상
6 채팅 - 실시간 채팅을 통해 정보를 교환 할 수 있다. firebase를 이용한 실시간 채팅
7 은행 - 회원은 은행에 회원의 게임 머니를 예금/출금/송금 할 수 있다.
- 송금 : 회원들끼리도 머니를 주고 받을 수 있다
8 마이페이지 - 회원이 자신의 땅(홈피)를 꾸밀 수 있고 다른 사람 홈피에 방문할 수 있다.
- 경매장에 필요없는 아이템을 판매등록 하거나, 되팔기를 할 수 있다.
아이템 - ThreeJS와 블렌더를 이용한 420개 3d아이템 구현
9 알람 - 게임 시즌 변경 시 알람.
- 뉴스 정보상 기간 바꼈을 때 알람
10 미니게임 - 상시 진행 가능한 미니 게임을 통해 시드머니를 불릴 수 있다.
- ex) 스피드 복권, 어둠의 복권
11 기타 - PWA를 활용한 웹앱 + 반응형 웹을 통한 다양한 기기에서 사용 가능
- FCM을 이용한 웹푸시 기능
- Lotite, framer-motion을 활용한 애니메이션 효과

🌍 모두의 주식 서비스

📌 주식 거래소

  • 회원이 시장 지표와 정보를 이용해 원하는 주식을 매도/매수 할 수 있다.
  • IR데이터 및 뉴스스크랩(보유 뉴스) 조회 가능

PPT_매도매수_IR

📌 - 정보 거래소

  • 회원이 주식에 대한 정보를 게임 머니를 이용하여 살 수 있다.

04_정보상

📌 - 뽑기 상점

  • 3가지 뽑기 ( 일반, 고급, 전설)를 선택하여 아이템을 뽑을 수 있다.

PPT_뽑기

📌 - 경매장

  • 다른 사용자들이 경매장에 올린 아이템을 구입할 수 있다.

PPT_경매장

📌 - 랭킹

  • 총 자산(은행 예산 + 지갑 돈 + 보유 주식 + ASSET 보유 자산)을 토대로 랭킹을 매겨 확인 가능
  • ASSET보유자산 : 내가 뽑은 꾸미기 아이템의 가치

12_랭킹확인

📌 - 채팅

  • 실시간 채팅을 통해 정보를 교환 할 수 있다.

PPT_채팅

📌 - 은행

  • 회원은 은행에 회원의 게임 머니를 예금/출금/송금 할 수 있다.
  • 송금 : 회원들끼리도 머니를 주고 받을 수 있다

PPT_은행

📌 - 마이페이지

  • 회원이 자신의 땅(홈피)를 꾸밀 수 있고 다른 사람 홈피에 방문할 수 있다.
  • 경매장에 필요없는 아이템을 판매등록 하거나, 되팔기를 할 수 있다.

PPT_방꾸미기

📌 - 알람

  • 게임 시즌 변경 시 알람
  • 뉴스 정보상 기간 바꼈을 때 알람

📌 - 미니게임

  • 상시 진행 가능한 미니 게임을 통해 시드머니를 불릴 수 있다.
  • ex) 스피드 복권, 어둠의 복권

PPT_복권당첨



💾 실행방법

  • exec 폴더 내 포팅 메뉴얼 참조

원스토어


👬 팀 구성



팀장 김홍민
팀장 김홍민
FE 팀장
팀원 김남규
팀원 김남규

BE 팀장, CI/CD
팀원 김송빈
팀원 김송빈

BE
팀원 김애림
팀원 김애림

BE
팀원 서현아
팀원 서현아

BE
팀원 한상현
팀원 한상현

FE

⚙ 기술 아키텍쳐

data-env1 data-env2


모두의주식 DB


API 명세서


와이어프레임