Skip to content

shinhanProject/youngs-back

Repository files navigation

📊 Young’s (20~30대들의 0에서부터 시작하는 stock)

2023 프로디지털아카데미 2기 최종 프로젝트
주식 초보를 위한 증권 정보 제공 Web Service


📌 Project & Members

진행기간: 2023. 10. 05 ~ 2023. 10. 20 (약 2주)

🧑‍💻 프로젝트 멤버

image image image image image
김태우👑 박상희 이지은 이주현 조하영
백엔드 프론트엔드
- 인프라
- 데이터 수집
- 종목 정보 개발
- DB 설계
- 회원가입
- 사용자 인증 및 인가
- 프로필
- 요약
- DB 설계
- 단어 검색
- 기초 정보 및 뉴스
- 마이페이지
- 랭킹 및 티어
- 프론트엔드 총괄
- UI/UX 디자인
- Auth
- chatGPT
- 마이페이지
- 요약
- UI/UX 디자인
- 종목 정보
- 요약

🤝 협업툴


🖥️ 기술 스택

Environment

Front-End

Back-End

API


📋 프로젝트 소개

주식 투자가 익숙하지 않고 어려운 사용자들에게 주식의 진입 장벽을 낮춰주고, 학습 내용 기록을 보며 지속적인 학습을 할 수 있도록 이끌어 주는 사이트가 있다면?

  1. 학습
    • 주식 기초 정보로 공부하고, 요약 작성을 통해 자신의 생각을 남겨보자!
  2. 복습
    • 마이페이지에서 내가 작성한 내용을 보여 복습하고, 요약을 수정하고 싶다면 다시 작성해보자!
  3. 공부량 확인
    • 날짜별로 찍혀있는 공부 기록을 보며, 기록을 더 채워보자!
    • 랭킹과 팔로우/팔로잉을 통해 다른 사람의 기록도 확인해보자!

🗂️ 프로젝트 구조

image

3-Tier Layer

  • Presentation Layer
  • JWT AuthenticationFilter(사용자 인증 절차)
  • Business Logic Layer
  • Data Access Layer

DataBase

  • S3 - 종목 및 뉴스와 같이 관계형 데이터베이스가 필요없는 데이터 저장
  • MySQL - 관계형 데이터베이스가 필요한 사용자 데이터 저장

ERD

image


🗒️ 기능 소개

0. 로그인/회원가입

  • 이메일 형식의 아이디와 비밀번호를 통해 로그인을 진행한다.
  • 회원가입 시, 이메일 중복 체크 등 유효성 검사 진행한다.

로그인


1. 기초 지식

  • 주식 기초, 주식 투자 기법, 위험성, 경제 기초 지식 카테고리 별 학습 할 수 있다.
  • 이미 요약 작성을 한 기록이 있다면, ‘학습한 내용 포함하지 않기’ 버튼을 통해 OFF 처리가 가능하다.

기초 지식


2. 보도자료, chatGPT

  • 보도자료를 불러올 때, 백엔드에서 aws S3의 저장링크를 받아온다.
  • aws-sdk 라이브러리를 이용하여, 클라이언트에 데이터를 저장하지 않고 S3에서 HTML 파일 가져와 바로 렌더링 시킨다.
  • 보도자료와 종목정보 탭에서 GPT 검색기능활성화하기 ON 하고, 검색하고 싶은 텍스트를 드래그 하면 GPT 검색이 가능하다.
  • 사용자가 많이 조회한 단어라면, 정보를 빠르게 전달하기 위해 DB에 저장된 데이터를 전달한다.

gpt


3. 종목 정보

  • 종목명으로 종목 조회를 할 수 있다.
  • 종목 선택 시, 해당 종목의 상세 내역 조회 할 수 있다.
    • 주가 그래프 및 시가총액, 자산계, 매출액, 당기순이익 등 종목의 상세 내역 조회

종목정보


4. 프로필 수정

  • 설정 버튼 클릭 시, 사용자의 프로필 이미지 및 닉네임 변경 할 수 있다.

프로필 수정


5. 요약 개수 확인

  • 마이페이지에서 사용자의 요약 개수를 시각적으로 조회가 가능하다.
    • 하루에 요약 작성을 많이 할 수록, 기록된 색이 진해진다.
  • 요약 맵에 마우스 오버시, 해당 요약을 작성한 날짜와 요약 개수를 조회 할 수 있다.

요약개수확인


6. 요약하기

  • 기초지식과 뉴스 페이지에서 한 줄 요약을 입력할 수 있다.
  • ‘요약하기’ 버튼을 클릭 시, 사용자가 작성한 요약을 마이페이지에서 조회 할 수 있으며 만약 처음 작성하는 요약이라면 요약 맵에 해당 일자의 요약 개수가 +1 된다.

뉴스요약


7. 요약 수정

  • 마이페이지에서 작성된 요약을 선택 시, 요약 작성 페이지로 이동하며 이동된 페이지에서 요약 수정 작성이 가능하다.

요약수정


8. 랭킹

  • 요약 개수 별 Top30 랭킹 리스트 조회 할 수 있다.
  • 랭킹 유저 클릭 시, 해당 유저의 프로필을 확인할 수 있으며 이미 팔로우한 유저면 ‘unfollow’, 아니라면 ‘follow’ 버튼이 활성화된다.
  • ‘보러가기’ 버튼 클릭 시, 해당 사용자의 마이페이지로 이동한다.
    • 만약 요약 작성이 비공개일시, 본인 외의 사용자에게는 숨김처리 된다.

랭킹



⚒️ 주요 기술력 소개

Atomic Pattern

  • Atomic Pattern에 따라 컴포넌트를 분리하여 “재사용성”과 “확장성”을 고려한 개발을 진행

image


사용자 인증 및 인가

  • Access Token을 통해 사용자의 로그인 정보를 관리

image


OpenAI - GPT-3.5

  • 유저가 단어를 검색하면 우선 DB로 접근하여 해당 단어가 DB에 있는지 유무를 판단.
  • 만약 DB에 존재한다면, 사용자에게 단어의 의미를 전송. 만약 존재하지 않는다면, ChatGPT에 단어의 의미를 요청.

image




⚙️ Convention Rule

📃 commit message

  • feat : 새로운 기능 추가
  • refactor : 리팩토링 (코드는 바꿨지만 기능 변경은 없는 경우)
  • docs : 문서 수정 (ex : README.md)
  • chore : 라이브러리 설치 등
  • fix : 오류 수정
  • style : 스타일링 관련 추가 사항
  • etc : 그 외 기타

🔧 commit rule

  1. issue 생성
  2. branch 생성
  3. branch name : [기능명]
  4. git push origin [branch]
  5. develop branch에 merge

About

Young's 서비스의 백엔드

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •