개미운동은 초보 투자자들을 위한 경제 및 주식 공부를 지원하고, 실전 모의 투자 경험을 제공하는 종합 웹 플랫폼입니다.
뉴스룸 페이지에서 최신 경제 뉴스를 쉽게 접하고 어려운 용어를 나만의 단어장에 저장하고 용어 설명을 확인할 수 있습니다.
주식길잡이 페이지에서 실제 차트와 호가창으로 투자의 기초를 익히고, 실제 데이터 기반 모의 투자로 투자 체험을 할수 있습니다.
개미의 시선 페이지에서 사용자들이 다양한 인사이트를 나누고 주식, 경제 주제에 대한 소통의 장을 제공합니다.
2024.01.15 ~ 2024.02.05 (34일)
| 이름 | 역할 | 개발 내용 |
|---|---|---|
| 최진 | 풀스택 | 커뮤니티 |
| 심세연 | 풀스택 | 뉴스룸 |
| 기원희 | 풀스택 | 메인페이지, 주식 길잡이 |
| 최용헌 | 백엔드 | 모의투자 |
| 최예지 | 백엔드 | 카카오로그인, 뉴스 크롤링 |
-
경제 및 주식 뉴스를 한곳에서 확인
-
뉴스 속 모르는 단어를 클릭하면 뜻을 확인하고 단어장에 저장 가능
-
실제 주식 차트 및 호가창을 활용한 투자 연습
-
단계별 학습을 통해 초보 투자자가 쉽게 이해 가능
-
가상 투자 시스템을 통해 실전 감각 익히기
-
투자 정보 공유 및 의견 교환
-
게시글 좋아요 및 댓글 기능 지원
-
신고 기능을 통한 불량 게시물 관리
-
회원가입 & 로그인 (일반 로그인 + 카카오 로그인)
-
JWT 기반 인증 시스템
☑️ 최신 뉴스 & 최신 게시글 렌더링
- 최신 뉴스 및 인기 게시글 표시
- 실시간 주식 차트 위젯 제공
- 관심 뉴스 및 주식 검색 기능 지원
☑️경제, 주식, 코인 뉴스 제공 및 단어 저장
- 경제, 주식, 코인 뉴스 카테고리별 제공
- 크롤링된 최신 뉴스 실시간 업데이트
- 뉴스 내 단어 클릭 시 뜻 확인 및 단어장 저장
☑️실시간 차트를 활용한 주식 개념 학습
- 실시간 차트를 활용한 주식 기본 개념 학습
- 호가창 및 차트 요소별 상세 설명 제공
☑️기업 정보 및 주가 변동 시각화
- TradingView 위젯을 활용하여 기업 정보 및 실시간 주가 데이터 제공
- 주식 차트, 거래량, 지표 등을 포함한 종합적인 기업 분석 기능 제공
- 사용자 선택에 따라 다양한 종목의 데이터를 확인 가능
☑️가상 투자를 통한 실전 연습
- 실제 거래소 데이터를 기반으로 한 가상 투자 시스템
- 매수/매도 기능 제공
- 실시간 차트 분석 및 이동평균선 등 기본 지표 제공
- 랭킹 시스템 도입
☑️투자 정보 공유 및 소통 공간 제공
- 게시글 작성, 수정, 삭제 가능
- 좋아요 및 신고 기능 지원
- 최신순 & 인기순 정렬
☑️사용자 정보 및 저장 데이터 관리
- 프로필 이미지 & 회원 정보 수정
- 저장한 단어 및 뉴스 관리
☑️ 저장한 단어 관리 및 복습 기능 제공
- 사용자가 하트를 눌러 저장한 단어 목록을 확인 가능
- 가나다순 / 최신순 정렬 기능 지원
- 클릭 시 단어 뜻과 상세 설명을 확인할 수 있도록 구성
- 단어 삭제 기능을 통해 불필요한 단어 관리 가능
☑️회원 및 신고 게시글 관리
- 가입한 회원 정보 조회
- 회원별 북마크 및 활동 내역 확인
- 신고된 게시글 조회 및 삭제 기능
모의투자 페이지를 제외한 전체 페이지 디자인,
메인페이지, 단어장, 주식 길잡이 페이지
본 프로젝트에서 효율적인 협업을 위한 간단한 브랜치 관리 방식 적용(간소화된 Git Flow 방식 채택) develop 브랜치를 기본으로 하고 기능별 feature 브랜치를 사용하는 방식으로 작업
- 기능별 독립적인 개발 환경 보장
- 팀원 간 작업 충돌 최소화
- 코드 리뷰 프로세스 명확화
- 소규모 팀에 적합한 유연성 제공
- 지속적인 통합(CI) 환경에 용이
develop: 개발의 기본이 되는 브랜치 (default)feature/기능명: 개별 기능 개발을 위한 브랜치
- 기능 개발 시 develop에서 feature 브랜치 생성
- 기능 개발 완료 후 develop에 병합
- 충돌 발생 시 팀원과 직접 소통하여 해결
이 문서는 프론트엔드와 백엔드가 원활하게 소통할 수 있도록 작성된 API 명세서입니다. 프론트엔드와 백엔드는 REST API를 통해 데이터를 주고받으며, JWT 인증을 사용하여 보안을 유지합니다.
| 항목 | 내용 |
|---|---|
| 기본 URL | https://api.example.com |
| 응답 형식 | JSON (Content-Type: application/json) |
| 인증 방식 | JWT Token (Authorization 헤더) |
| 기능 | 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} |
비밀번호 변경 |
| 기능 | 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}, ...] |
토큰 필요 |
| 기능 | Method | URL | 요청 데이터 | 응답 데이터 | 비고 |
|---|---|---|---|---|---|
| 단어 저장 | POST |
/news/saveMyword |
{word, meaning, newsId} |
{id, word, meaning} |
토큰 필요 |
| 저장한 단어 목록 조회 | POST |
/news/likedWords |
{token} |
[{word, meaning}, ...] |
토큰 필요 |
| 단어 삭제 | POST |
/news/deleteWords |
{word} |
{message: "단어 삭제 성공"} |
토큰 필요 |
| 기능 | 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} |
실시간 데이터 |
| 기능 | 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}, ...] |
모의 투자 순위 조회 |
| 기능 | 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 명세서는 프론트엔드 개발자와 백엔드 개발자 간의 원활한 소통을 위한 기준 문서로 활용됩니다. 변경 사항이 있을 경우 즉시 업데이트하고 팀원들에게 공유해 주세요.
- 클론 받아오기
git clone ---주소
- 개발환경 구성(npm, nodejs) = 주소 방문 및 설치 https://nodejs.org/en/download/
- node module 설치
npm install
