2022.01.09(월) ~ 2022.02.17(금) - 약 6주
삼성청년 SW아카데미에서 제공하는 EC2 서버를 기반으로 실제적인 서비스 제공과 늘어나는 IT개발자 지망생을 위한 온라인 스터디 서비스를 기획하게 되었습니다. 서비스 기획을 위해 삼성청년 SW아카데미 교육생들을 대상으로 인터뷰와 설문을 진행하였으며, 이를 바탕으로 단순한 webRTC를 활용한 기능이 아닌 서비스의 목표 고객이 추구하는 목표를 도울 플랫폼 형태의 토탈 웹 서비스를 구성할 수 있었습니다. JUSTUDY를 통해 IT 개발자 지망생들이 필요한 기술 스택 공부와 온라인 스터디 모집 및 참여는 물론 자기 주도 학습을 위한 여러 툴들을 활용해 목표하는 바를 이루었으면 좋겠습니다.
- 주니어 개발자를 위한 스터디 상위/하위 카테고리 별로 모집 및 관리 환경 제공
- 화상 스터디 및 스터디에 필요한 부가 기능을 추가한 webRTC 서비스
- 자기주도 학습을 위한 컴퓨터 비전 기반 자기 검열 기능
- 삼성청년SW아카데미생들 사이에 공부 시너지를 위한 커뮤니티 제공
- 페이지 관리를 위한 관리자 페이지
- 랭킹, 스터디 뱃지를 활용한 공부 의지 고취 시스템
Back-end
- JAVA Open JDK 11
- Spring boot 2.7.7
- JPA
- queryDSL
- swagger2
- mysql 8.0.x
- Kurento media server
- Coturn TURN server
Front-end
- nodejs 18.12.1
- Visual Studio Code IDE
- Vue 2.6.14
- Vuetify 2
- Vue-router 3.6.5
- Vuex 3.6.2
- axios 1.2.2
- chart.js
- FaceAPI
- kurento-utils
CI/CD
- AWS EC2
- Jenkins
- NGINX
- Docker
협업 툴 & 기획
- Git + GitLab
- Notion
- JIRA
- MatterMost
- Webex
- Figma
- ERD Cloud
back
└─src
├─main
│ ├─java
│ │ └─com
│ │ └─justudy
│ │ └─backend
│ │ ├─admin
│ │ ├─category
│ │ ├─common
│ │ ├─community
│ │ ├─config
│ │ ├─exception
│ │ ├─file
│ │ ├─GroupCall
│ │ ├─login
│ │ ├─member
│ │ ├─rank
│ │ ├─report
│ │ ├─study
│ │ ├─timer
│ │ └─util
│ └─resources
└─test
└─java
└─com
└─justudy
└─backend
├─category
├─community
├─config
├─date
├─login
├─member
└─study
justudy-front
├── node_modules
├── public
└── src
├── assets
├── components
│ ├── admin
│ ├── common
│ ├── community
│ ├── mypage
│ ├── ranking
│ ├── study
│ ├── timer
│ └── webRTC
├── data
├── plugins
├── router
├── scss
├── store
│ └── modules
├── utils
└── views
├── admin
├── community
├── login
├── main
├── mypage
├── ranking
├── self-test
├── study
├── studyOne
├── timer
└── webRTC
- GitLab
- 코드 버전 관리
- Merge Request 시, 리뷰어를 정해 리뷰를 진행하고 피드백
- JIRA
- 매주 월요일 오전, 해당 주차의 목표를 정해 스프린트 진행
- Story point 설정 후, 해당 이슈에 커밋 연결하여 확인 가능
- 회의
- 매일 아침 10~15분 스크럼을 통해 각자 전 날의 달성 과제와 이슈 사항을 보고하고, 그 날의 도전 과제 브리핑
- Notion
- 후순위로 생각해야 할 점이 생기면, 노션에 브레인스토밍 식으로 기재 후 검토
- Git, JIRA, Front-end, Back-end 컨벤션 정리
- 피그마를 활용한 MockUP, ERD 설계도, 요구사항 명세서, API 명세서 공유
- 학습내용이나 트러블 슈팅시 노션을 통한 문서화
- 류한민[BE]
- 서버 담당 - CICD 자동화 구현
- API 설계 및 관리
- 이신광[BE]
- 유저, 게시글, 카테고리, 신고 및 관리자 API 설계 및 관리
- API 설계 및 관리
- 오의석[BE]
- WebRTC기능 구현
- API 설계 및 관리
- 서주광[FE]
- JavaScript 이용한 주요 컴포넌트 개발
- API 설계 및 관리
- 김도균[FE]
- UI/UX 담당
- 기획 및 와이어프레임
- 이연희[FE]
- UI/UX 담당
- 와이어프레임 및 API 설계
- Front-end Convention
- Back-end Convention
- 요구사항 명세서
- MockUp
- ERD 및 테이블 명세서
- API 명세서
- 트러블 슈팅 문서
- 학습 문서
- 포팅 메뉴얼
-
커뮤니티
-
스터디지원
-
스터디수락
-
스터디기능
-
관리자
-
회원가입
-
자가 진단 설문
-
타이머
-
팔로우
-
온라인 스터디 기능
- 화상회의 도중 제비뽑기가 가능하다. 각자의 역할을 공정하게 지정할 수 있다.
- 화상회의 도중 채팅이 가능하다. 누군가 발표하고 있을때, 급하게 전달할 내용이 있으면 채팅을 치면 된다. 더 나아가, 느낌표 표시로 글이 왔는지 파악이 가능하다.
- 화상회의 도중 에디터 기능이 가능하다. WebRTC의 DataChannel에 연결되어 있어, 동시에 여러명이 같이 코딩작업이 가능하다.
- 화상회의 도중 투표를 통해 해당 인원을 음소거 할 수 있다
- 화상회의 도중 투표를 통해 스터디에 방해가 되는 인원을 강제 퇴장시킬 수 있다.
- 온라인 스터디를 마치고 싶은데, 그만하자고 말을 하기 어려울 때, 스터디 끝내기를 제안할 수 있다. 투표를 통해 과반수가 허락하면 온라인 스터디가 끝난다.
-
랭킹