- 개발 기간 : 2024/5/30 ~ 2024/6/24
3Ever는 누구든, 언제든, 어디서든 강의자가 문제를 해결하는 과정을 실시간으로 보여주고, 수강생의 코딩하는 사고도 기를 수 있도록 도와주는 라이브코딩 웹 IDE 서비스입니다.
| 공태현 | 김근호 | 이다솜 | 최민지 |
| 이름 | 공태현 | 김근호 | 이다솜 | 최민지 |
|---|---|---|---|---|
| 역할 | 백엔드 리더 | 팀원 | 팀원 | 팀원 |
| 기능 |
|
|
|
|
일반 회원가입, 로그인 기능 제공과 동시에 소셜 로그인 기능을 제공하여 사용자는 별도의 회원가입과 로그인 과정을 거치지 않고도 카카오, 네이버, 구글 계정을 통해 서비스를 이용할 수 있습니다. Spring Security, OAuth2를 이용하였으며 인증된 사용자의 상태는 세션을 통해 유지하고, 세션 유효성 검사를 통해 자동 로그인 기능을 구현하였습니다.
사용자는 컨테이너의 이름, 설명을 입력하고 언어를 선택하여 컨테이너를 생성하고 실행할 수 있습니다. 컨테이너 실행 시에는 생성 시 선택했던 언어의 기본 템플릿을 제공합니다.
사용자는 파일 및 폴더를 생성할 수 있습니다. 계층 구조를 구현하여 폴더 내에는 여러 개의 파일 및 폴더를 생성할 수 있습니다.
선택한 언어를 통해 도커 컨테이너 이미지를 생성하여 다양한 언어를 컴파일 하고 실행할 수 있습니다. (Java, Javascript, Python, C, CPP 지원)
사용자는 컨테이너 내에서 터미널 기능을 이용할 수 있습니다. 웹소켓 서버를 이용하여 실시간으로 입력한 터미널 명령의 결과를 얻을 수 있습니다.
사용자는 컨테이너를 강의 또는 질문 컨테이너로 공유할 수 있고, 공유된 컨테이너에는 다른 사용자들이 참여할 수 있습니다. 공유 상태인 컨테이너를 완료 또는 해결 상태로 수정하면 모든 사용자는 해당 컨테이너의 내용을 확인할 수 있습니다.
강의 컨테이너에 접속한 사용자들은 강의자의 코드 편집을 실시간으로 확인할 수 있습니다. 질문 컨테이너에 접속한 사용자들은 코드 편집을 실시간으로 확인은 물론, 동시 편집이 가능합니다.
공유된 컨테이너에 참여한 사용자들은 실시간 채팅을 이용할 수 있습니다. 웹소켓 서버를 이용하여 실시간으로 채팅을 주고 받을 수 있습니다.

