Skip to content

abrightkite/BOAT_VOTE

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vote Web

header

Description

  • 사람들이 의견을 공유할 수 있는 투표 기반 SNS 제작하는 웹 프로젝트
  • 개발 인원 6명 : Frontend 3명 + Backend 3명
  • 프로젝트 기간 : 2022.02.10 ~ 2022.05.30
  • React + TypeScript를 기반으로 개발

refer

  • Youtube의 투표 기능
  • Youtube나 Twitter의 투표 시스템에 영감을 받아 개발한
  • 사람들이 직접 투표를 올리고 의견을 공유할 수 있는 투표 기반 SNS

로그인

vote-login-page

회원가입

vote-signup-page

메인

vote-main-page

게시글 조회

vote-board-popup-page

게시글 쓰기

vote-write-popup-page

Main Feature

  • SNS처럼 투표 글을 작성하고 실시간으로 투표하며 사람들의 의견을 확인
  • 글 작성 시 관심사 별로 카테고리를 두어 카테고리별로 확인할 수 있도록 제작
  • 팝업 화면을 통해 각 게시글 자세히 보기 및 덧글 작성, 보기 가능
  • 1개의 사진을 올릴 수 있는 사진 첨부 기능
  • 검색을 통해 게시글 검색 가능
  • 자신이 투표한 투표글 및 투표율에 따른 오늘의 인기글 제공
  • 반응형 웹으로 PC/태블릿/모바일 화면 지원

project Structure

|   index.tsx
|   react-app-env.d.ts
|   reportWebVitals.ts
|   setupTests.ts
|   
+---assets
|       images.ts
|       
+---components
|   |   App.tsx
|   |   
|   +---common
|   |   \---PopUp
|   |       |   PopUp.tsx
|   |       |   
|   |       \---css
|   |               popUp.css
|   |               popUp.css.map
|   |               popUp.scss
|   |               
|   +---Header
|   |   |   Header.tsx
|   |   |   logo.jpg
|   |   |   logo.svg
|   |   |   
|   |   +---components
|   |   |       UserBoard.tsx
|   |   |       UserInfo.tsx
|   |   |       
|   |   +---containers
|   |   |       HeaderContainer.tsx
|   |   |       UserBoardContainer.tsx
|   |   |       UserInfoContainer.tsx
|   |   |       
|   |   \---css
|   |           header.css
|   |           header.css.map
|   |           header.scss
|   |           userBoard.css
|   |           userBoard.css.map
|   |           userBoard.scss
|   |           userInfo.css
|   |           userInfo.css.map
|   |           userInfo.scss
|   |           
|   +---Loader
|   |   |   Loader.tsx
|   |   |   
|   |   \---css
|   |           loader.css
|   |           loader.css.map
|   |           loader.scss
|   |           
|   +---Login
|   |   |   Login.tsx
|   |   |   
|   |   +---containers
|   |   |       LoginContainer.tsx
|   |   |       
|   |   \---css
|   |           login.css
|   |           login.css.map
|   |           login.scss
|   |           
|   +---ScrollView
|   |   |   ScrollView.tsx
|   |   |   
|   |   +---components
|   |   |   |   Block.tsx
|   |   |   |   BlockPopUp.tsx
|   |   |   |   CommentScrollView.tsx
|   |   |   |   ImagePopUp.tsx
|   |   |   |   ProgressBar.tsx
|   |   |   |   VoteView.tsx
|   |   |   |   WritePopUp.tsx
|   |   |   |   
|   |   |   \---css
|   |   |           Block.css
|   |   |           Block.css.map
|   |   |           Block.scss
|   |   |           BlockPopUp.css
|   |   |           BlockPopUp.css.map
|   |   |           BlockPopUp.scss
|   |   |           CommentScrollView.css
|   |   |           CommentScrollView.css.map
|   |   |           CommentScrollView.scss
|   |   |           imagePopUp.css
|   |   |           imagePopUp.css.map
|   |   |           imagePopUp.scss
|   |   |           VoteView.css
|   |   |           VoteView.css.map
|   |   |           VoteView.scss
|   |   |           WritePopUp.css
|   |   |           WritePopUp.css.map
|   |   |           WritePopUp.scss
|   |   |           
|   |   +---containers
|   |   |       BlockContainer.tsx
|   |   |       BlockPopUpContainer.tsx
|   |   |       CommentScrollViewContainer.tsx
|   |   |       ImagePopUpContainer.tsx
|   |   |       PopUpVoteViewContainer.tsx
|   |   |       ScrollViewContainer.tsx
|   |   |       VoteViewContainer.tsx
|   |   |       WritePopUpContainer.tsx
|   |   |       
|   |   \---css
|   |           scrollView.css
|   |           scrollView.css.map
|   |           scrollView.scss
|   |           
|   +---SideBoard
|   |   |   SideBoard.tsx
|   |   |   
|   |   +---components
|   |   |       LastBoard.tsx
|   |   |       TopBoard.tsx
|   |   |       
|   |   +---containers
|   |   |       LastBoardContainer.tsx
|   |   |       SideBoardContainer.tsx
|   |   |       TopBoardContainer.tsx
|   |   |       
|   |   \---css
|   |           sideBoard.css
|   |           sideBoard.css.map
|   |           sideBoard.scss
|   |           
|   +---SideNavigation
|   |   |   SideNavigation.tsx
|   |   |   
|   |   +---containers
|   |   |       SideNavigationContainer.tsx
|   |   |       
|   |   \---css
|   |           sideNavigation.css
|   |           sideNavigation.css.map
|   |           sideNavigation.scss
|   |           
|   +---SignUp
|   |   |   SignUp.tsx
|   |   |   
|   |   +---containers
|   |   |       SignUpContainer.tsx
|   |   |       
|   |   \---css
|   |           signUp.css
|   |           signUp.css.map
|   |           signUp.scss
|   |           
|   \---Test
|       |   Test.tsx
|       |   
|       \---containers
|               TestContainer.tsx
|               
+---hooks
|   |   usePopUp.ts
|   |   useRootRoute.ts
|   |   
|   \---Auth
|           useAuth.ts
|           
+---lib
|   \---api
|           api.ts
|           
+---routes
|   |   RootNavigation.tsx
|   |   
|   +---components
|   |       LoginNavigation.tsx
|   |       MainNavigation.tsx
|   |       
|   \---containers
|           LoginNavigationContainer.tsx
|           MainNavigationContainer.tsx
|           RootNavigationContainer.tsx
|           
+---store
|   |   rootReducer.ts
|   |   
|   +---popUp
|   |   |   actions.ts
|   |   |   reducers.ts
|   |   |   
|   |   \---modules
|   |           actionsTypes.ts
|   |           
|   \---routes
|       \---rootRoute
|           |   actions.ts
|           |   reducers.ts
|           |   
|           \---modules
|                   actionTypes.ts
|                   
+---styles
|   \---css
|           core.css
|           core.css.map
|           core.scss
|           
\---typedef
    \---common
            common.types.ts

Requirments

Library

"@testing-library/jest-dom": "^5.16.2",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^13.5.0",
"@types/jest": "^27.4.1",
"@types/node": "^16.11.26",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.11",
"@types/react-redux": "^7.1.22",
"@types/react-router-dom": "^5.3.3",
"axios": "^0.26.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-redux": "^7.2.6",
"react-router-dom": "^6.2.1",
"react-scripts": "5.0.0",
"redux": "^4.1.2",
"redux-devtools-extension": "^2.13.9",
"redux-persist": "^6.0.0",
"typescript": "^4.5.5",
"web-vitals": "^2.1.4"

Contributors

박희연 (https://github.com/abrightkite)

이장훈 (https://github.com/bh2980)

엄지영 (https://github.com/thumbzzero)

Backend Repository

https://github.com/GDSC-KNU/Project2

기술스택

This project was bootstrapped with Create React App.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 74.6%
  • SCSS 24.0%
  • HTML 1.4%