Skip to content

개발자를 위한 스터디 플랫폼 Do-IT

Notifications You must be signed in to change notification settings

dawncoding/Do-IT

Repository files navigation

개발자를 위한 스터디 매칭 플랫폼 : Do-IT

Do IT 프로젝트 thumbnail

목차

프로젝트 기간

2023.08.31 ~ 2023.09.14

1. 서비스 소개

1. 서비스 설명

개요

4인 팀 프로젝트

  • 한 줄 소개 : 주니어 개발자로서 평소 관심이 많던 cs 면접이나 스터디에 대해 연습하고 모집하는 환경을 제공하는 플랫폼
  • 서비스 명 : 두잇 (Do IT)

2. 기획 배경

언젠가 취업을 위해 모든 개발자가 cs 면접을 대비하고 스터디에 참여하여 역량 향상에 대해 관심이 많을 것이라 생각했고 이를 가능하게 해주는 플랫폼을 만들면 어떨까? 하는 생각으로부터 Do IT을 기획하게 되었다.

목적

  • OpenAI API 에 면접관이라는 역할을 부여하여 Do IT 플랫폼을 사용하는 모든 유저들이 CS 면접에 대해 대비할 수 있는 서비스를 제공하자.
  • CS 면접 연습을 통해 포인트를 습득하게 하고 스터디 개설, 참여 신청에 이 포인트를 필요로 하게 두어 개설자든, 참여자든 CS에 대한 공부를 끊임없이 할 수 있도록 하는 시스템을 마련하자.
  • 스터디를 개설하고 모집할 수 있는 기능을 제공하자.

3. 서비스 화면

서비스 화면

메인페이지

Do-IT 메인페이지

메인페이지 피그마

스크린샷 2023-12-13 오전 8 19 30

목업에 대해서는 피그마 커뮤니티중 Free Clay Mockups, iPhone 12 Free Mockups 를 활용했다.

회원가입 및 로그인

회원가입 및 로그인 페이지 반응형

Do-IT 로그인 반응형

회원가입
필수로 입력해야 하는 정보를 입력하지 않은 경우 동일한 아이디가 존재하는 경우 비밀번호와 비밀번호 재확인 입력 정보가 다를 경우
Do-IT 회원가입 Do-IT 회원가입 아이디 예외처리 Do-IT 회원가입 비밀번호 재확인 예외처리

로그인

로그인 성공 아이디를 잘못 입력했을 경우 비밀번호를 잘못 입력했을 경우
Do-IT 로그인 성공 Do-IT 로그인 아이디 잘못 입력한 경우 예외처리 Do-IT 로그인 비밀번호 잘못 입력한 경우 예외처리
로그인 애니메이션

플랫폼의 마스코트 캐릭터가 마우스를 따라 얼굴을 움직이도록 애니메이션을 적용했고 로그인, 회원가입시 비밀번호를 입력할때는 보안을 위해 뒤로 돌아보고 눈을 감는 듯한 효과를 주었다.

회원가입 및 로그인 피그마

스크린샷 2023-12-13 오전 8 19 57

마이페이지

마이페이지에선 닉네임, 증빙 링크 (깃허브 혹은 기술블로그 링크)를 수정할 수 있다. 또한 내가 개설한 스터디 목록과 지원한 스터디 목록을 확인할 수 있다. 해당 목록에선 현재 각 스터디가 승인 완료인지 대기중인지 혹은 거절되었는지 상태를 확인할 수 있다.

마이페이지 피그마

스터디 목록 페이지

스터디 목록을 통해 모집 현황, 스터디 제목, 소개글, 관심 IT 분야를 확인할 수 있으며 각 스터디를 클릭하여 세부 페이지로 들어갈 수 있다.

스터디 목록 페이지 피그마

스터디 상세 페이지

스터디 상세 페이지 - 지원자

스터디 상세 페이지 - 개설자

스터디 상세 페이지에서는 스터디 개설자와 스터디 참여자가 볼 수 있는 화면이 다르다. 누구나 현재 스터디에 합류한 리더, 참여한 크루원을 확인할 수 있다. 다만 스터디 지원자만 지원하기 / 승인 대기중 / 모집 완료 버튼을 확인할 수 있고 스터디 개설자만 내가 개설한 스터디에 지원한 크루들의 참여 여부를 승낙 / 거절할 수 있다.

스터디 상세 페이지 피그마 - 모바일

스터디 상세 페이지 피그마 - 웹

스터디 개설 페이지

스터디 개설시엔 모집 인원, 관심 분야, 시작, 종료일을 지정할 수 있고 스터디 제목과 소개란을 채우도록 했다. 스터디를 개설 신청하면 슬랙으로 해당 정보를 담은 알림 스레드가 생성된다.

링크와 스터디 소개글을 참고하여 운영진은 스터디 개설여부를 결정할 수 있다.

운영진의 결정은 위와 같이 번복할 수 있으며 결정된 사항에 대해 해당 스레드의 댓글을 슬랙봇을 통해 생성하도록 했다.

CS 면접 연습하기

주제 선택하기와 CS 면접 연습 2가지 기능이 있다.

CS 면접 연습 주제 선택 페이지

먼저 면접 연습할 주제를 선택한다.

CS 면접 채팅 화면

Do-IT 면접 채팅

이후 선택한 주제에 대해 OpenAI API를 활용하여 해당 주제에 맞는 면접 질문을 유저에게 보이고 유저의 답변에 대해 즉시 ChatGPT에 사용되는 OpenAI API로 피드백을 생성한다. 유저의 답변에 맞춰 한번의 면접 연습을 통해 총 30 포인트까지 획득할 수 있다. 각각의 답변에 대한 피드백을 생성하는데 5초에서 10초 혹은 그 이상 시간이 소요된다. 이 시간을 줄이기 어렵지만 UX를 위해 중간에 gif로 로딩동안 보여줄 화면을 구성했다.

CS 면접 평가 결과 화면

Do-IT 면접 평가 결과

CS 면접 연습 페이지 피그마

설치 라이브러리

  • express
  • ejs
  • sequelize
  • sequelize-cli
  • mysql2
  • @slack/bolt
  • dotenv
  • cross-env
  • uuid
  • bcrypt
  • jsonwebtoken
  • sass
  • axios
  • aos

2. 기술스택

Frontend

html/css, scss, javascript, ejs, sweetalert2, aos

Backend

node.js, sequelize, mysql, bolt.js, webhook, slack API, openAI API

3. 파일 구조

프론트엔드 프로젝트 구조
├── README.md
├── config/
│   └── config.js
├── controller/
│   ├── CMain.js
│   ├── CStudy.js
│   ├── CUser.js
│   ├── Cinterview.js
│   └── Csocket.js
├── dist/
├── index.js
├── models/
│   ├── MCsSubject.js
│   ├── MQuestionList.js
│   ├── MStudy.js
│   ├── MStudyUser.js
│   ├── MTheme.js
│   ├── MUser.js
│   └── index.js
├── package-lock.json
├── package.json
├── routes/
│   ├── interview.js
│   ├── main.js
│   ├── socket.js
│   ├── study.js
│   └── user.js
├── slack.js
├── static/
│   ├── images/
│   ├── script
│   │   ├── common
│   │   ├── interview
│   │   ├── main
│   │   ├── mypage
│   │   └── study
│   └── style
│       ├── css
│       │   ├── common
│       │   ├── interview
│       │   ├── main
│       │   ├── mypage
│       │   └── study
│       └── scss
│           ├── common
│           ├── helper
│           ├── interview
│           ├── main
│           ├── mypage
│           └── study
├── utils/
│   ├── date.js
│   ├── loading.js
│   └── payload.js
├── views/
│   ├── 404.ejs
│   ├── chat.ejs
│   ├── main.ejs
│   ├── mypage.ejs
│   ├── studydetail.ejs
│   ├── studylist.ejs
│   ├── studyregister.ejs
│   └── subject.ejs
└── slack.js

4. 설계 문서

db 설계

db 구조는 miro 를 통해 릴레이션의 어트리뷰트, 관계등을 논의후 바로 sequelize 를 사용하여 model 을 생성해줬다.

Workflow

스크린샷 2023-12-13 오전 8 50 31

스크럼 회의록

스크럼 기록 스크럼 회의록 일부

Do IT 팀의 스프린트 주기는 1주일로 잡았다. 이번 프로젝트는 2주로 지난 프로젝트보다 기한이 길었기에 1주 단위 스프린트를 2회로 잡아 두번의 스프린트 회고를 진행하고자 했다.

각 스프린트 회고는 한 주가 지나고 해당 주간 진행했던 GROUND_RULE, 개발 방식, 진행 방식 등에 대해 느낀점, 개선점, 의견등을 공유하고 한주간 해온 일들을 공유하는 식의 회고를 말한다.

이 과정을 통해 1주일마다 팀 단위로 이번 스프린트동안의 개발 방식에 대한 끊임없는 피드백을 받아 더 나은 방식의 개발문화를 형성할 수 있다.

FIGMA

스크린샷 2023-12-13 오전 8 52 57

5. 결과

Do IT 깃허브 레포

피그마 디자인 바로보기

발표 구글 슬라이드

miro db 설계 및 work flow

레포지토리 블로그 정리글
Do IT 1탄 slackbot 도입을 위한 조사
2탄 프로젝트 회고
3탄 slackbot 도입기 정리

6. 팀 소개

팀명

🔍 안녕하세요! 포스코 x 코딩온 풀스택 웹 개발자 8기 교육생으로 조직된 프로젝트 팀 Do IT 입니다. 고민하지 말고 지금 당장 Just Do IT 이라는 의미와 IT 직무에서 일하고 싶은 주니어 개발자들에게 Do IT 라는 의미를 섞어 팀명을 정했습니다.

멤버

dawncoding Stendhalsynd best0611 syxxne

About

개발자를 위한 스터디 플랫폼 Do-IT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •