All Projects → connect-foundation → 2019-15

connect-foundation / 2019-15

Licence: MIT license
Catch My Mind - 웹으로 즐길 수 있는 캐치마인드

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to 2019-15

node-server-template
This is Node.js server tidy template / boilerplate with Express (with asyncified handlers, custom error handler) framework and MongoDb. The server use ES6 and above. On different branches you can see different techniques' and technologies' usage, such as Kafka, nodemailer, file download... You also can find postman collections.
Stars: ✭ 116 (+510.53%)
Mutual labels:  socket-io, sequelize
les-chat
Real-time messenger with private, public & group chat. Made using PERN + GraphQL stack.
Stars: ✭ 48 (+152.63%)
Mutual labels:  apollo-client, socket-io
opentelemetry-ext-js
js extensions for the open-telemetry project
Stars: ✭ 122 (+542.11%)
Mutual labels:  socket-io, sequelize
now-course
Proyecto para el curso de Now.sh en Platzi
Stars: ✭ 19 (+0%)
Mutual labels:  apollo-client, sequelize
chanyeong
👨‍💻 chanyeong's portfolio and blog webpage
Stars: ✭ 39 (+105.26%)
Mutual labels:  apollo-client, sequelize
Chatty
A WhatsApp clone with React Native and Apollo (Tutorial)
Stars: ✭ 481 (+2431.58%)
Mutual labels:  apollo-client, sequelize
gatsby-starter-redux-saas
An Gatsby starter for Saas products. Uses redux and apollo and a graphql token auth backend.
Stars: ✭ 18 (-5.26%)
Mutual labels:  apollo-client
agile-tutorial
A tutorial for agile development of cloud applications.
Stars: ✭ 16 (-15.79%)
Mutual labels:  travis
vagrant-travisci-libvrt
Example project showing how to run Vagrant on TravisCI using libvrt & KVM
Stars: ✭ 25 (+31.58%)
Mutual labels:  travis
nestjs-api-mongoose
Collection example apps with NestJS and Typeorm, Sequelize, Mongodb, PostgreSQL, MySQL, GraphQL, Mercurius, etc. for the NestJS community 😻
Stars: ✭ 153 (+705.26%)
Mutual labels:  sequelize
bookshelf
My GraphQL playground
Stars: ✭ 64 (+236.84%)
Mutual labels:  apollo-client
nodefony
nodefony core framework
Stars: ✭ 19 (+0%)
Mutual labels:  sequelize
postman
minecraft anarchy client :)
Stars: ✭ 163 (+757.89%)
Mutual labels:  fabric
sequelize-embed
Easily insert and update sequelize models with deeply nested associations
Stars: ✭ 15 (-21.05%)
Mutual labels:  sequelize
pacNEM
pacNEM is a Browser PacMan game with NodeJS, Socket.io, Handlebars and NEM Blockchain
Stars: ✭ 20 (+5.26%)
Mutual labels:  socket-io
Bettercolors
⚔️ Minecraft assistance mod built with Forge AND Fabric. For MC 1.8.9, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.x, 1.17.X, 1.18.X, 1.19.X
Stars: ✭ 37 (+94.74%)
Mutual labels:  fabric
nextjs-graphql-auth
Authentication system using NextJS, GraphQL, Apollo Client, Apollo Server, MongoDB, Nginx, Docker, Docker-Compose and Kubernetes
Stars: ✭ 27 (+42.11%)
Mutual labels:  apollo-client
sync
📺 Interactive, synchronized YouTube streaming
Stars: ✭ 23 (+21.05%)
Mutual labels:  socket-io
GolfIV
An anti-exploit attempt for Fabric
Stars: ✭ 41 (+115.79%)
Mutual labels:  fabric
fastexpress
Restful API Framework minimalist
Stars: ✭ 14 (-26.32%)
Mutual labels:  sequelize

Documentation travis-build-status GitHub language count GitHub top language W3C Validation GitHub code size in bytes GitHub repo size GitHub All Releases GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests GitHub GitHub release (latest by date including pre-releases) GitHub tag (latest by date) Website

Link

시연영상

💚 시연영상 link

Release

🏠 http://catchmymind.shop/

Develop

💻 http://catchyourmind.shop/

Introduction

캐치마인드를 웹으로 즐길 수 있는 캐치 마이 마인드

남녀노소 즐길 수 있는 캐주얼 웹 게임 캐치 마이 마인드입니다! 여러분의 창의력을 마음껏 발휘해 보세요!

Description

  • PC 게임인 캐치마인드를 웹게임으로 구현하였습니다.
  • 출제자가 그림을 그리면 이외의 플레이어가 채팅으로 답을 맞추는 웹 게임입니다.
  • 기본적으로 회원제 서비스로서, 다른 유저에게 친구 신청을 보낼 수 있으며, 친구 신청을 수락하거나 거절할 수 있습니다.
  • 모든 유저와 랜덤 매칭이 가능한 랜덤 게임과 친구끼리 즐길 수 있는 비밀 게임, 두가지 게임 모드가 있습니다.
  • 전체 회원 및 친구들의 점수를 랭킹을 통해 확인할 수 있으며, 게임에서 점수를 획득하여 랭킹을 올릴 수 있습니다.
  • 과거의 게임 기록을 움짤의 형태로 조회할 수 있습니다.
  • 나의 닉네임과 캐릭터를 변경할 수 있습니다.
  • 참고: https://skribbl.io/

Team

🙎‍♀️ 손진아 - 팀과 함께 성장하고자 합니다.
💁‍♂️ 이지영 - 문제해결을 위해 끊임없이 고민하는 개발자입니다.
🤷‍♂️ 이창권 - 재밌는 것을 만들고 싶은 개발자입니다.
🙋‍♂️ 최형준 - 🌐지속 가능한 웹 개발자를 지향합니다.

Sprint

손진아 이지영 이창권 최형준
Sprint 1 친구 기능 구현 웹소켓으로 게임시작기능 구현 CI/CD 및 환경 설정 OAuth 구현
Sprint 2 단어 db 구축, 단어 선택 기능 구현 게임화면 유저리스트 구현 전체 랭킹, 친구 랭킹 구현 자동 로그인, 배포 환경에서의 OAuth
Sprint 3 채팅 기능 구현 비밀게임 시작구현 친구 초대 알람, 닉네임 변경 전체적인UI, 타이머, 단어 미리보기
Sprint 4 디자인 변경 리팩토링, 버그픽스 캔버스 소켓 통신, 알림 리팩토링 문제 종료, 라운드 변경, 프론트 코드 리팩토링(지영이와 페어 코딩)
Sprint 5 정답 기능 구현, 친구 리팩토링 아바타 선택 기능 캔버스 툴 추가, 게임 초대 타이머 정확도 개선, 난입에 대한 예외처리, 게임 종료 로직 구현
Sprint 6 게임 기록 움짤 기능 구현, 내정보 동기화 소켓 리팩토링, 버그픽스, 아바타, 비밀방 게임설정 캔버스 소켓 통신 방법 수정,알림 버그 픽스, 프론트 리팩토링 탈주 예외 처리, 라이센스 및 카피라이트 추가,useGamePlay 리팩토링, 404페이지 추가

Architecture

Architecture

Environment

FRONT

  • React (16.11.0)
  • apollo-boost (0.4.4)
  • styled-component (4.4.1)
  • Fabric.js (3.5.1)

BACK

  • Express (4.16.1)
  • Passport.js (0.4.0)
  • JSON Web Token (8.5.1)
  • GraphQL (14.5.8)
  • Sequelize (5.19.6)
  • Sequelize CLI (5.5.1)
  • Socket.IO (2.3.0)
  • NODE-CACHE (5.0.2)

CI/CD

  • Travis CI

SERVER

  • Docker (19.03.5)

DB

  • MySQL (5.7)

VCS

  • Git (2.23.0)
  • Git Flow

TEST

  • Jest (24.9.0)

etc

  • ESLint - airbnb (6.1.0)
  • dotenv (8.2.0)

DB ERD

ERD

Directory

Frontend

펼치기 / 접기
./
├── conf/                     # 설정 파일
├── public/                   # 정적 문서 
├── src/                      # 소스 파일
|    ├── asset/               # 어셋 파일 
|    ├── components/          # 컴포넌트
|    ├── constant/            # 상수
|    ├── hooks/               # 커스텀 훅
|    ├── logics/              # 컴포넌트에 주입할 로직
|    ├── pages/               # 페이지(뷰) 컴포넌트
|    ├── queries/             # 쿼리 파일
|    ├── themes/              # 테마(글로벌 스타일)
|    ├── util/                # 유틸리티 파일
|    ├── index.js             # 엔트리 포인트
|    ├── Router.js            # 라우터
|    └── serviceWorker.js     # 빌드 시 실행되는 파일
└── test/                     # 테스트 파일

Backend

펼치기 / 접기
./
├── bin/                      # Express 실행 파일
├── config/                   # 각종 환경설정 파일
├── db/                       # DB 및 sequelize 관련 파일
|   ├── migrations/           # 마이그레이션 파일들 (sequelize-cli)
|   ├── models/               # 모델 파일 (sequelize-cli)
|   └── seeders/              # 시더 파일 (sequelize-cli)    
├── graphql/                  # graphQL 관련 폴더
|   ├── resolvers/            # 리졸버 파일
|   ├── typeDefs/             # 타입 파일
|   └── schema.js             # 스키마
├── middlewares/              # 커스텀 미들웨어
├── router/                   # 라우터
├── secket/                   # 소켓 관련 파일
├── test/                     # 테스트 파일
└── util/                     # 유틸리티 파일

Core Skills

  • components without style library (vanilla components!)
  • authentication with Passport.js and OAuth 2.0
  • access control with Json Web Token
  • WebSocket
    • Socket Room
    • Throttle
    • Debounce
  • requestAnimationFrame in React
  • canvas with Fabric.js and custom drawing tool
  • cursor based lazy loading and infinite scroll

Sequence Diagram

랜덤 게임

Sequence Diagram

Document

Ground Rule

Design

Sharing Technology

Wiki

Promotional Video

📺홍보 영상

Getting started

Initialize DB Tables

npx sequelize db:migrate --env local
npx sequelize db:seed:all --env local

Run Server 🐳

cd back
npm install
npm run local

Run Front 🎄

cd front
npm install
npm start

Test 🕹

npm run test:local

License

MIT license

Copyright

Copyright 2019. Catch My Mind. All rights reserved.

Show your support

Give a ⭐️ if this project helped you!


_This README was generated with ❤️

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].