본문 바로가기

토이프로젝트/programmerGround

programmerGround 프로젝트 개요

반응형

첫 소개글은 programmerGround 프로젝트를 소개하려고 합니다.

programmerGround 프로젝트는 개발자들을 위한 커뮤니티라는 명목으로 기획한 프로젝트입니다.

 

팀원 : 4명 (프론트 1명 + 백엔드 3명)

팀 내 역할 : 프론트엔드

 

프로젝트 기술 

프론트엔드

  •  Webpack
  •  Babel
  •  Eslint
  •  Prettier
  •  React
  •  TypeScript
  •  Redux
  •  GraphQL
  •  Apollo
  •  Jest

백엔드

  •  Spring Boot
  •  Spring Security
  •  Spring Data JPA
  •  QueryDSL
  •  Native Query - 최대한 안쓰는 방향으로
  •  Node.js(Express)
  •  Socket.io
  •  TDD(Junit, MockMVC, )
  •  BDD(Spock)
  •  ATDD

인프라

  •  Redis
  •  MariaDB
  •  MongoDB (채팅)
  •  K8s
  •  Docker
  •  GraphQL
  •  Jenkins

버전 관리

git-flow 사용

 

요구사항 정의

회원(User)

  • 회원은 사용자 및 시스템 관리자를 포함하는 말이다.
  1. 회원은 Github Oauth를 통하여 가입 및 로그인을 할 수 있다.
  2. 회원은 admin, user 권한이 있다.
  3. 회원은 로그아웃을 할 수 있다.
  4. 회원은 초기 Github 로그인 시 username 을 제공해야한다.
  5. 회원은 플레이그라운드 생성 및 참여 최대 횟수가 3회이다.
  6. 회원은 플레이그라운드를 생성할 수 있다.
  7. 회원은 다른 플레이그라운드에 참여를 신청할 수 있다.
  8. 회원은 자신이 생성한 플레이그라운드 정보를 수정할 수 있다.

리더(Leader)

  1. 플레이그라운드 참가신청자의 참여신청을 거부 및 승인할 수 있다.
  2. 리더는 참가신청자의 git stat을 볼 수 있다.
  3. 리더는 참가신청자가 다 찼을 경우 모집 종료를 할 수 있다.
  4. 리더는 플레이그라운드 멤버들과 채팅할 수 있다.

멤버(Member)

  1. 멤버는 플레이그라운드에 소속된다.
  2. 멤버는 플레이그라운드 다른 멤버들과 채팅할 수 있다.

플레이그라운드 (게시판)

  1. 플레이그라운드의 책임자를 리더(Leader) 라고 한다.
  2. 플레이그라운드에 참여한 참가자를 멤버(Member) 라고 한다.
  3. 플레이그라운드의 상태는 모집중 , 모집완료 로 나눠진다.
  4. 플레이그라운드 리더의 승인이 있어야 참여한다.
  5. 플레이그라운드 제목과 내용을 갖고 있다.
    • 내용
      • 요구 포지션 (백, 프론트)
      • 요구 스킬
      • 지역 (도급 e.g 서울, 인천, 경기 ...)
      • 현재 플레이그라운드에 참여하고 있는 인원
      • 참여하고 있는 인원들의 포지션
      • 생성일
      • 프로젝트 주제
      • 프로젝트 상세설명
        • 파일, 사진, 링크
  6. 플레이그라운드 팀원들끼리 채팅이 가능하다.
  7. (구현 고민중인 기능) github API를 사용해서 repository 및 organization 생성
  8. (구현 고민중인 기능) 참여인원 마감 시 Slack 이나 Discord 방 개설 및 연계

채팅방

할 일

  1. 디비 설계

  2. Git 연동

  3. Oauth

    초기로그인 Oauth → Firebase

    → Batch 뭘하던간에 mysql → UserDB

  4. 게시판 CRUD

  5. 채팅방

  6. FB

 

반응형