2023 프로디지털아카데미 2기 최종 프로젝트
주식 초보를 위한 증권 정보 제공 Web Service
진행기간: 2023. 10. 05 ~ 2023. 10. 20 (약 2주)
김태우👑 | 박상희 | 이지은 | 이주현 | 조하영 |
---|---|---|---|---|
백엔드 | 프론트엔드 | |||
- 인프라 - 데이터 수집 - 종목 정보 개발 |
- DB 설계 - 회원가입 - 사용자 인증 및 인가 - 프로필 - 요약 |
- DB 설계 - 단어 검색 - 기초 정보 및 뉴스 - 마이페이지 - 랭킹 및 티어 |
- 프론트엔드 총괄 - UI/UX 디자인 - Auth - chatGPT - 마이페이지 - 요약 |
- UI/UX 디자인 - 종목 정보 - 요약 |
주식 투자가 익숙하지 않고 어려운 사용자들에게 주식의 진입 장벽을 낮춰주고, 학습 내용 기록을 보며 지속적인 학습을 할 수 있도록 이끌어 주는 사이트가 있다면?
- 학습
- 주식 기초 정보로 공부하고, 요약 작성을 통해 자신의 생각을 남겨보자!
- 복습
- 마이페이지에서 내가 작성한 내용을 보여 복습하고, 요약을 수정하고 싶다면 다시 작성해보자!
- 공부량 확인
- 날짜별로 찍혀있는 공부 기록을 보며, 기록을 더 채워보자!
- 랭킹과 팔로우/팔로잉을 통해 다른 사람의 기록도 확인해보자!
- Presentation Layer
- JWT AuthenticationFilter(사용자 인증 절차)
- Business Logic Layer
- Data Access Layer
- S3 - 종목 및 뉴스와 같이 관계형 데이터베이스가 필요없는 데이터 저장
- MySQL - 관계형 데이터베이스가 필요한 사용자 데이터 저장
- 이메일 형식의 아이디와 비밀번호를 통해 로그인을 진행한다.
- 회원가입 시, 이메일 중복 체크 등 유효성 검사 진행한다.
- 주식 기초, 주식 투자 기법, 위험성, 경제 기초 지식 카테고리 별 학습 할 수 있다.
- 이미 요약 작성을 한 기록이 있다면, ‘학습한 내용 포함하지 않기’ 버튼을 통해 OFF 처리가 가능하다.
- 보도자료를 불러올 때, 백엔드에서 aws S3의 저장링크를 받아온다.
- aws-sdk 라이브러리를 이용하여, 클라이언트에 데이터를 저장하지 않고 S3에서 HTML 파일 가져와 바로 렌더링 시킨다.
- 보도자료와 종목정보 탭에서 GPT 검색기능활성화하기 ON 하고, 검색하고 싶은 텍스트를 드래그 하면 GPT 검색이 가능하다.
- 사용자가 많이 조회한 단어라면, 정보를 빠르게 전달하기 위해 DB에 저장된 데이터를 전달한다.
- 종목명으로 종목 조회를 할 수 있다.
- 종목 선택 시, 해당 종목의 상세 내역 조회 할 수 있다.
- 주가 그래프 및 시가총액, 자산계, 매출액, 당기순이익 등 종목의 상세 내역 조회
- 주가 그래프 및 시가총액, 자산계, 매출액, 당기순이익 등 종목의 상세 내역 조회
- 설정 버튼 클릭 시, 사용자의 프로필 이미지 및 닉네임 변경 할 수 있다.
- 마이페이지에서 사용자의 요약 개수를 시각적으로 조회가 가능하다.
- 하루에 요약 작성을 많이 할 수록, 기록된 색이 진해진다.
- 요약 맵에 마우스 오버시, 해당 요약을 작성한 날짜와 요약 개수를 조회 할 수 있다.
- 기초지식과 뉴스 페이지에서 한 줄 요약을 입력할 수 있다.
- ‘요약하기’ 버튼을 클릭 시, 사용자가 작성한 요약을 마이페이지에서 조회 할 수 있으며 만약 처음 작성하는 요약이라면 요약 맵에 해당 일자의 요약 개수가 +1 된다.
- 마이페이지에서 작성된 요약을 선택 시, 요약 작성 페이지로 이동하며 이동된 페이지에서 요약 수정 작성이 가능하다.
- 요약 개수 별 Top30 랭킹 리스트 조회 할 수 있다.
- 랭킹 유저 클릭 시, 해당 유저의 프로필을 확인할 수 있으며 이미 팔로우한 유저면 ‘unfollow’, 아니라면 ‘follow’ 버튼이 활성화된다.
- ‘보러가기’ 버튼 클릭 시, 해당 사용자의 마이페이지로 이동한다.
- 만약 요약 작성이 비공개일시, 본인 외의 사용자에게는 숨김처리 된다.
- 만약 요약 작성이 비공개일시, 본인 외의 사용자에게는 숨김처리 된다.
- Atomic Pattern에 따라 컴포넌트를 분리하여 “재사용성”과 “확장성”을 고려한 개발을 진행
- Access Token을 통해 사용자의 로그인 정보를 관리
- 유저가 단어를 검색하면 우선 DB로 접근하여 해당 단어가 DB에 있는지 유무를 판단.
- 만약 DB에 존재한다면, 사용자에게 단어의 의미를 전송. 만약 존재하지 않는다면, ChatGPT에 단어의 의미를 요청.
- feat : 새로운 기능 추가
- refactor : 리팩토링 (코드는 바꿨지만 기능 변경은 없는 경우)
- docs : 문서 수정 (ex : README.md)
- chore : 라이브러리 설치 등
- fix : 오류 수정
- style : 스타일링 관련 추가 사항
- etc : 그 외 기타
- issue 생성
- branch 생성
- branch name : [기능명]
- git push origin [branch]
- develop branch에 merge