Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


개미운동


📝 프로젝트 개요

개미운동은 초보 투자자들을 위한 경제 및 주식 공부를 지원하고, 실전 모의 투자 경험을 제공하는 종합 웹 플랫폼입니다.

뉴스룸 페이지에서 최신 경제 뉴스를 쉽게 접하고 어려운 용어를 나만의 단어장에 저장하고 용어 설명을 확인할 수 있습니다.

주식길잡이 페이지에서 실제 차트와 호가창으로 투자의 기초를 익히고, 실제 데이터 기반 모의 투자로 투자 체험을 할수 있습니다.

개미의 시선 페이지에서 사용자들이 다양한 인사이트를 나누고 주식, 경제 주제에 대한 소통의 장을 제공합니다.


  • 개발기간

2024.01.15 ~ 2024.02.05 (34일)


  • 팀원

이름 역할 개발 내용
최진 풀스택 커뮤니티
심세연 풀스택 뉴스룸
기원희 풀스택 메인페이지, 주식 길잡이
최용헌 백엔드 모의투자
최예지 백엔드 카카오로그인, 뉴스 크롤링



⚙️ 기술스택

Language

FrontEnd

BackEnd

Server & Storage

Database & ORM

Package Manager

ETC



💡 주요 기능

1. 실시간 경제 뉴스 & 단어장 기능

  • 경제 및 주식 뉴스를 한곳에서 확인

  • 뉴스 속 모르는 단어를 클릭하면 뜻을 확인하고 단어장에 저장 가능

2. 주식 기초 학습 & 모의 투자

  • 실제 주식 차트호가창을 활용한 투자 연습

  • 단계별 학습을 통해 초보 투자자가 쉽게 이해 가능

  • 가상 투자 시스템을 통해 실전 감각 익히기

3. 커뮤니티 (개미의 시선)

  • 투자 정보 공유 및 의견 교환

  • 게시글 좋아요 및 댓글 기능 지원

  • 신고 기능을 통한 불량 게시물 관리

4. 사용자 인증 및 관리

  • 회원가입 & 로그인 (일반 로그인 + 카카오 로그인)

  • JWT 기반 인증 시스템



🔍 페이지별 상세 설명

메인 페이지

☑️ 최신 뉴스 & 최신 게시글 렌더링

  • 최신 뉴스 및 인기 게시글 표시
  • 실시간 주식 차트 위젯 제공
  • 관심 뉴스 및 주식 검색 기능 지원

뉴스룸

☑️경제, 주식, 코인 뉴스 제공 및 단어 저장

  • 경제, 주식, 코인 뉴스 카테고리별 제공
  • 크롤링된 최신 뉴스 실시간 업데이트
  • 뉴스 내 단어 클릭 시 뜻 확인 및 단어장 저장

주식길잡이 (주식)

☑️실시간 차트를 활용한 주식 개념 학습

  • 실시간 차트를 활용한 주식 기본 개념 학습
  • 호가창 및 차트 요소별 상세 설명 제공

주식길잡이 (기업정보)

☑️기업 정보 및 주가 변동 시각화

  • TradingView 위젯을 활용하여 기업 정보 및 실시간 주가 데이터 제공
  • 주식 차트, 거래량, 지표 등을 포함한 종합적인 기업 분석 기능 제공
  • 사용자 선택에 따라 다양한 종목의 데이터를 확인 가능

주식길잡이 (모의투자)

☑️가상 투자를 통한 실전 연습

  • 실제 거래소 데이터를 기반으로 한 가상 투자 시스템
  • 매수/매도 기능 제공
  • 실시간 차트 분석 및 이동평균선 등 기본 지표 제공
  • 랭킹 시스템 도입

개미의 시선 (커뮤니티)

☑️투자 정보 공유 및 소통 공간 제공

  • 게시글 작성, 수정, 삭제 가능
  • 좋아요 및 신고 기능 지원
  • 최신순 & 인기순 정렬

마이페이지 & 단어장

☑️사용자 정보 및 저장 데이터 관리

  • 프로필 이미지 & 회원 정보 수정
  • 저장한 단어 및 뉴스 관리

☑️ 저장한 단어 관리 및 복습 기능 제공

  • 사용자가 하트를 눌러 저장한 단어 목록을 확인 가능
  • 가나다순 / 최신순 정렬 기능 지원
  • 클릭 시 단어 뜻과 상세 설명을 확인할 수 있도록 구성
  • 단어 삭제 기능을 통해 불필요한 단어 관리 가능

관리자 페이지

☑️회원 및 신고 게시글 관리

  • 가입한 회원 정보 조회
  • 회원별 북마크 및 활동 내역 확인
  • 신고된 게시글 조회 및 삭제 기능



🧑🏻‍💻 담당 역할

모의투자 페이지를 제외한 전체 페이지 디자인,
메인페이지, 단어장, 주식 길잡이 페이지



🌱 브랜치 관리 방식

본 프로젝트에서 효율적인 협업을 위한 간단한 브랜치 관리 방식 적용(간소화된 Git Flow 방식 채택) develop 브랜치를 기본으로 하고 기능별 feature 브랜치를 사용하는 방식으로 작업

Git Flow 선택 이유

  • 기능별 독립적인 개발 환경 보장
  • 팀원 간 작업 충돌 최소화
  • 코드 리뷰 프로세스 명확화
  • 소규모 팀에 적합한 유연성 제공
  • 지속적인 통합(CI) 환경에 용이

사용한 브랜치 구조

  • develop: 개발의 기본이 되는 브랜치 (default)
  • feature/기능명: 개별 기능 개발을 위한 브랜치

작업 방식

  1. 기능 개발 시 develop에서 feature 브랜치 생성
  2. 기능 개발 완료 후 develop에 병합
  3. 충돌 발생 시 팀원과 직접 소통하여 해결



🔗 API 명세서

📌 개요

이 문서는 프론트엔드와 백엔드가 원활하게 소통할 수 있도록 작성된 API 명세서입니다. 프론트엔드와 백엔드는 REST API를 통해 데이터를 주고받으며, JWT 인증을 사용하여 보안을 유지합니다.

📌 기본 정보

항목 내용
기본 URL https://api.example.com
응답 형식 JSON (Content-Type: application/json)
인증 방식 JWT Token (Authorization 헤더)

📌 API 목록

🔑 사용자 관리 API

기능 Method URL 요청 데이터 응답 데이터 비고
회원가입 POST /register {email, password, name} {token, user} 이메일 중복 확인 포함
로그인 POST /login {email, password} {token, user} 소셜 로그인은 별도 엔드포인트
카카오 로그인 GET /kakao/login?code={인가코드} - {token, user} 카카오 OAuth 인증
사용자 정보 조회 POST /mypage/getUserInfo {token} {id, name, email, ...} 토큰 필요
프로필 수정 POST /mypage/modifyUserInfo {name, profileImage, ...} {id, name, ...} 토큰 필요
회원 탈퇴 POST /mypage/deleteUserinfo {token} {success: true} 계정 삭제
아이디 중복 체크 POST /idValidate {user_id} {success: true} 아이디 중복 확인
닉네임 중복 체크 POST /nicknameValidate {user_nickname} {success: true} 닉네임 중복 확인
아이디 찾기 POST /findId {user_email} {user_id} 이메일 기반 아이디 찾기
비밀번호 찾기 POST /findPw {user_id, user_email} {success: true} 비밀번호 찾기
비밀번호 변경 POST /changePw {user_id, new_password} {success: true} 비밀번호 변경

📰 뉴스 관련 API

기능 Method URL 요청 데이터 응답 데이터 비고
뉴스 목록 조회 GET /news?category&page&limit - [{id, title, ...}, ...] 페이지네이션 지원
뉴스 상세 조회 GET /news/getDetail {news_id} {id, title, content, ...} -
관심 뉴스 저장 POST /news/saveMyNews {news_id} {success: true} 토큰 필요
저장한 뉴스 목록 조회 GET /news/getMyNews {token} [{id, title, date}, ...] 토큰 필요

📚 단어장 기능 API

기능 Method URL 요청 데이터 응답 데이터 비고
단어 저장 POST /news/saveMyword {word, meaning, newsId} {id, word, meaning} 토큰 필요
저장한 단어 목록 조회 POST /news/likedWords {token} [{word, meaning}, ...] 토큰 필요
단어 삭제 POST /news/deleteWords {word} {message: "단어 삭제 성공"} 토큰 필요

📊 주식 정보 API

기능 Method URL 요청 데이터 응답 데이터 비고
주식 목록 조회 GET /stocks?market&page - [{code, name, price, ...}, ...] 페이지네이션 지원
주식 상세 정보 GET /stocks/:code - {code, name, price, history, ...} -
주식 차트 데이터 GET /stocks/:code/chart?period - {labels, datasets} 기간별 데이터 지원
호가 정보 조회 GET /stocks/:code/orderbook - {asks, bids} 실시간 데이터

🎮 모의 투자 API

기능 Method URL 요청 데이터 응답 데이터 비고
모의 계좌 생성 POST /virtual/accounts {initialBalance} {id, balance, ...} 토큰 필요
모의 주문 실행 POST /virtual/orders {stockCode, price, quantity, type} {orderId, status, ...} 토큰 필요
계좌 정보 조회 GET /virtual/accounts/:id - {balance, holdings, transactions} 토큰 필요
모의 투자 기록 조회 POST /virtual/record {token} [{date, symbol, profit}, ...] 토큰 필요
매수 (Buy) POST /virtual/buy {symbol, amount} {message: "매수 성공"} 토큰 필요
매도 (Sell) POST /virtual/sell {symbol, amount} {message: "매도 성공"} 토큰 필요
랭킹 조회 POST /virtual/showRank - [{userId, profit, rank}, ...] 모의 투자 순위 조회

💬 커뮤니티 API

기능 Method URL 요청 데이터 응답 데이터 비고
게시글 목록 조회 GET /community/read - [{id, title, ...}, ...] 정렬 옵션 지원
게시글 작성 POST /community/write {title, content, category} {id, title, ...} 토큰 필요
게시글 수정 POST /community/modify {title, content} {id, title, ...} 작성자 검증
게시글 삭제 POST /community/delete {postId} {success: true} 작성자 검증
댓글 작성 POST /community/commentWrite {postId, content} {id, content, ...} 토큰 필요
댓글 삭제 POST /community/deleteCommnet {commentId} {message: "삭제 성공"} 토큰 필요
좋아요 토글 POST /community/like {postId} {likeCount, isLiked} 토큰 필요
인기 게시글 조회 GET /community/rank - [{id, title, likeCount}, ...] -

📌 문서 활용 안내

이 API 명세서는 프론트엔드 개발자와 백엔드 개발자 간의 원활한 소통을 위한 기준 문서로 활용됩니다. 변경 사항이 있을 경우 즉시 업데이트하고 팀원들에게 공유해 주세요.



💻 실행 방법


  1. 클론 받아오기
git clone ---주소

  1. 개발환경 구성(npm, nodejs) = 주소 방문 및 설치 https://nodejs.org/en/download/

  1. node module 설치
npm install


About

[코딩온 3차 프로젝트] 초보 투자자를 위한 경제·주식 학습과 모의 투자 경험을 제공하는 올인원 웹 플랫폼

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages