Skip to content

Latest commit

 

History

History
340 lines (249 loc) · 12 KB

README.md

File metadata and controls

340 lines (249 loc) · 12 KB

AlgoWithMe



목차


서비스 개요

AlgoWithMe는 온라인 알고리즘 스터디 플랫폼입니다. 사용자는 문제를 풀고, 동료에게 피드백을 받으며 메모와 정리를 동시에 진행할 수 있습니다. 또한, 소스코드를 GitHub에 자동 업로드할 수 있습니다. 문제 선정, 풀이, 코드 리뷰, 사후 코드 관리 및 복습에 이르기까지, 알고리즘 스터디의 AtoZ를 통합 관리하는 플랫폼입니다.

팀원소개

기술스택

프론트앤드


Language | HTML5, CSS3, JavaScript, node.js(v20.12.10)

Framework | React.js(v18.2.0), Redux Toolkit(v2.2.3), Vite(v5.2.0)

Library | ESLINT(v8.57.0), PRETTIER, TAILWIND(v3.4.3), TYPESCRIPT(v5.2.2), YSJ(13.6.14), OPENVIDU(2.29.1), TIPTAP(2.3.0), ACEEDITOR(11.0.1), STOMP(2.3.3), WEBSOCKET(8.17.0)



백앤드


Language | Java 21

Framework | Spring Boot 3.2.3

DB Connection(ORM) | Spring Data JPA

Build Tool | Gradle



컴파일러 서버


Language | Python 3.12

Framework | FastAPI 0.110.0

Library | cppyy


인프라


DB | mariaDB, MongoDB

Server | GitLab, Jenkins, Docker, Nginx



Development Tools



시스템 아키텍쳐



기능소개

  1. 메인화면

  • 스크롤 위치에 따라 화면을 렌더링합니다.



  1. 로그인

  • GitHub 소셜 로그인이 가능합니다.



  1. 페이지 검색

  • 유저가 속한 스터디 그룹 및 그룹내 하위페이지를 모두 조회할 수 있습니다.



  1. 사용자 초대

  • 스터디그룹원을 추가할 수 있습니다.
  • 암호화된 코드를 전송합니다.



  1. 새로운 문제 추가

  • 제목 또는 난이도로 검색이 가능합니다.
  • 페이지네이션으로 쉽게 탐색 가능합니다.



  1. 화면 크기 조정

  • 문제와 워크스페이스 / 코드 스페이스의 크기를 원하는대로 조절할 수 있습니다.



  1. 문제 풀이 타이머 설정



  1. 음성 채팅

  • 접속자, 비접속자가 구분됩니다.
  • 현재 발화자가 구분됩니다.



  1. 공용 메모 공간

  • 다른 사용자 커서 위치가 표시됩니다.



  1. 마크다운

  • 마크다운 문법을 사용하여 문서를 작성합니다.
  • 오른쪽 상단의 툴박스를 통해 더 많은 기능을 제공합니다.



  1. 코드 자동 완성



  1. 그룹원 코드 보기

  • socket을 통한 실시간 코드 공유로, 스터디 시 별도의 화면 공유가 필요 없습니다.



  1. 코드 실행하기

  • 내장되어 있는 테스트 케이스를 실행합니다.
  • 직접 테스트 케이스를 추가할 수 있습니다.



  1. 깃 저장하기

  • 원하는 디렉토리 내에 커밋이 가능합니다.



  1. 폴더 구조 변경

  • 하위, 상위 및 같은 계층 내 이동이 가능합니다.
  • 모든 그룹원에게 실시간 적용됩니다.



프로젝트 산출물