Skip to content

yuntaewoong/WebGomokuService_NodeJs

Repository files navigation

2021-2 오픈소스 텀프로젝트(웹 오목 대전 서비스)

About The Project

사이트에 접속한 유저들이 로그인 과정을 거치고 서로 오목대전을 즐길 수 있도록 제공하는 서비스

Getting Started

aws로 제공하는 오목대전 서비스 접속 : 접속하기(경희대 메일+교수님 메일로 로그인 가능) 또는,
다음 과정을 따라 진행한 후, 로컬PC에서 NodeJs실행 후 로컬PC에서 localhost:3000 으로 접속하기

Prerequisites

  • nodejs 설치 Node.js
  • DB를 위한 별도의 설정은 없습니다.

Installation

  • git clone 명령으로 프로젝트 폴더 clone
git clone http://khuhub.khu.ac.kr/2018102213/WebGomokuService.git
  • npm install 명령으로 npm 패키지 설치
npm install

Google OAuth Client ID, Client Secret creation

  • 다음 블로그글에서 안내하는대로 구글에서 제공하는 OAuth Client ID, ClientSecret발급, call back url은 다음과 같이 설정
http://localhost:3000/auth/google/callback
  • Google OAuth client ID를 GOOGLE_CLIENT_ID로, secret을 GOOGLE_SECRET로 시스템 환경 변수에 저장 or

config/passport.js의 process.env.GOOGLE_CLIENT_ID,process.env.GOOGLE_SECRET을 발급받은 OAuth CLient ID, ClientSecret으로 각각 대체하여 작성 후 저장

Run

  • main.js파일을 node.js로 실행
node main.js

Usage

로그인 이 어플리케이션은 구글 로그인으로 접속할 수 있습니다. 데이터베이스 조회 모든 유저의 승,패 횟수를 조회할 수 있습니다. 상대방 대기 이 게임은 플레이어와 플레이어간의 오목대전을 지원합니다. 2명의 플레이어가 순차적으로 사이트에 접속하면 게임이 바로 시작됩니다. 메인 게임 게임이 시작되면 자신의 턴에 마우스 클릭으로 돌을 둘 수 있습니다. 플레이어들은 번갈아 가며 돌을 두게 되고 먼저 5개의 연속된 돌을 만드는 사람이 승리합니다. 승패 화면 게임의 승부가 결정이 나면 승리자의 승 수, 패배자의 패 수가 증가합니다. 상대가 나간 화면 게임 중간에 상대가 나가면 해당 방의 게임은 남아있는 사람의 승리로 처리됩니다.

Roadmap

  • NodeJs서버 개발환경 구축
  • HTML canvas개발환경 구축
  • 구글API 사용권한 취득
  • 구글 로그인 구현
  • socket.io를 통한 서버와 클라이언트간의 연결 확인
  • 연결된 socket들을 관리하는 Room구현
  • 오목 게임 로직 구현
  • sqlite3 데이터베이스 적용
  • 데이터베이스 기능 구현
  • 버그 수정, 그래픽 요소 수정
  • AWS로 프로젝트 배포

Contribution

개선사항이 있으시다면 다음 절차를 따라 직접 프로젝트에 기여해주실 수 있습니다.

  1. 프로젝트 Fork
  2. Feature Branch생성
  3. Fork한 프로젝트에 Commit, Push
  4. Pull Request요청

License

This project is licensed under the terms of the MIT license

Contact

2018102213 윤태웅 15ywt@khu.ac.kr 프로젝트 주소 : http://khuhub.khu.ac.kr/2018102213/WebGomokuService

About

NodeJs로 구현한 온라인 오목대전 서비스

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published