Skip to content

Latest commit

 

History

History
220 lines (151 loc) · 11.7 KB

README.md

File metadata and controls

220 lines (151 loc) · 11.7 KB

AlgoNote

Samsung Software Academy For Youth 10기
도메인 : 자율 프로젝트
개발 기간 : 2024.04.09 ~ 2024.05.20

🌟 프로젝트 소개

algonote_logo

알고리즘을 학습하며 느꼈던 불편한점이 있으신가요?

  1. 문제를 풀고나서, 알고리즘을 잊어버리지 않기 위해 정리를 해야하는데 항상 지쳐 정리는 뒷전이었던 적이 있으신가요?
  2. 나에게 영양가 높은 딱 맞는 문제를 찾는데, 많은 시간을 허비한 적은 없으신가요?
  3. 내가 놓치고 있는 알고리즘 유형에 대해서는 시각적으로 보이지 않아 불편하지 않으셨나요?

이러한 불편점을 느꼈으면 저희의 서비스를 이용해보세요. 알고리즘 강화를 위한 최적의 노트! 알고노트

1. 프로젝트를 어떻게 기획하게 되었나요?

알고리즘 문제를 풀고나서 풀었던 문제에 다시 한번 생각해보는 과정이 꼭 필요하다고 느꼈어요. 하지만 이러한 습관을 들이는 과정 자체가 너무 힘들었죠. 문제에 대한 나의 풀이 회고를 작성하려면 로직을 다시 살펴보고, 분석하기 위해 많은 동작이 필요했어요. 이 모든 것을 한 번에 할 수 없을까 생각을 하게되었고, 서비스로 만들게 되었습니다.

2. 프로젝트의 핵심 가치는 무엇인가요?

첫째, 알고리즘 풀이 회고에 필요한 다양한 기능들을 제공해요. 익스텐션을 통해 백준에서 푼 코드가 저희 서비스로 바로 넘어오고, 마크다운을 지원하기 때문에 편리하게 노트 작성을 할 수 있어요. 또한 챗봇이 있어 노트 작성 중 궁금한 내용을 언제든 해소할 수 있습니다. 둘째, 내가 놓치기 쉬운 알고리즘 유형 확인과 사용자 맞춤 문제추천이 가능해요. 사용자의 알고리즘 풀이에 따른 진척도를 다양한 그래프를 통해 한 눈에 파악할 수 있어요. 그리고 BPR 모델로 사용했기에 사용자에게 딱 맞는 영양가 높은 문제를 추천해줍니다.

문제 추천부터, 코드 분석, 노트 작성까지! 알고리즘 학습에 확실하게 도움이 될 거에요.

Algonote - 당신의 코딩테스트 준비를 완벽하게 지원합니다

코딩테스트는 개발자의 실력을 검증하는 중요한 과정입니다. "Algonote"는 이러한 코딩테스트를 준비하는 모든 이들에게 최적의 학습 환경을 제공하기 위해 만들어진 서비스입니다. 우리는 효율적이고 체계적인 학습 방법을 통해 여러분의 실력을 한 단계 더 끌어올릴 수 있도록 지원합니다.

주요 기능

  1. Algonote 크롬 익스텐션: 크롬 익스텐션을 통해 백준에서 푼 문제를 자동으로 Algonote에 가져올 수 있습니다. 이를 통해 문제 풀이 기록을 손쉽게 관리할 수 있습니다.

  2. 오답노트 작성: 틀린 문제를 복습하고 분석할 수 있는 오답노트 기능을 제공합니다. 이를 통해 자신의 약점을 파악하고, 반복 학습을 통해 실력을 향상시킬 수 있습니다.

  3. GPT-4o 활용한 챗봇: 최신 AI 기술을 활용한 챗봇이 학습 도우미 역할을 합니다. 문제에 대한 힌트를 제공하고, 알고리즘 설명을 돕는 등 실시간으로 여러분의 학습을 지원합니다.

  4. 맞춤형 문제 추천: 개인의 학습 패턴과 수준에 맞춘 문제를 추천합니다. 이를 통해 효율적인 학습이 가능하며, 다양한 유형의 문제를 고루 풀어볼 수 있습니다.

  5. 취약 알고리즘 분석: 자신의 취약한 알고리즘을 분석하여 제공합니다. 이를 통해 어떤 부분에서 더 많은 연습이 필요한지 명확히 알 수 있어, 집중적으로 보완할 수 있습니다.

  6. 코드 비교 분석: 자신의 코드와 다른 사용자의 코드를 비교 분석할 수 있습니다. 이를 통해 다양한 접근 방식을 배우고, 더 나은 코딩 스타일을 익힐 수 있습니다.

지금 Algonote에 가입하고, 체계적이고 효율적인 코딩테스트 준비를 시작하세요. 여러분의 성공을 위해 최선을 다해 지원하겠습니다.

Algonote - 코딩테스트의 모든 것, 여기에서 시작됩니다.



💡 주요 기능

크롬 익스텐션

  • 백준에 풀이를 제출하면 코드, 소요시간, 점유한 메모리, 작성언어에 대한 정보를 가져와요.

오답노트 작성

  • 크롬 익스텐션에서 가져온 제출이력을 볼 수 있어요.

- 해당 제출이력을 바탕으로 오답노트를 작성할 수 있어요.

GPT-4o 챗봇

  • 궁금한 내용은 챗봇에게 물어볼 수 있어요.

맞춤형 문제 추천

  • 협업필터링 기반 알고리즘인 Bayseian Personalized Ranking 사용하여 개인화된 문제 추천시스템을 실현했어요.


취약 알고리즘 분석

  • 푼지 오래된 문제 유형을 확인할 수 있어요.
  • 이를 통해, 다양한 문제 유형에 대해 꾸준히 학습하세요.

코드 비교 분석

  • 코드를 비교 분석해서 어떤 코드가 더 효율적인지 비교할 수 있어요.


부가 기능

랜딩, 크롬 웹스토어

  • 서비스 소개 랜딩 페이지에서 로그인, 회원가입이 가능해요.
  • 크롬 익스텐션을 다운로드할 수 있는 크롬 웹스토어로 이동할 수 있어요. 랜딩, 크롬웹스토어3

노트 검색, 필터링

  • 노트를 유형, 난이도 별로 필터링하고 검색이 가능해요. 노트검색,필터링

알림

  • 실시간 알림 팝업창을 클릭하면 해당 내용으로 이동해요.
  • 네비게이션 바 알림 아이콘을 통해 알림 내역을 확인할 수 있어요. 알림클릭이동,댓글

🛠️ 주요 기술 스택

Management Tool

jira

figma

Gitlab

Notion

mattermost

BackEnd

Java

SpringBoot

SpringSecurity

JPA

Python

Fastapi

FrontEnd

typescript

next.js

zustand

DataBase

mysql

ETC

amazons3

elasticsearch

nginx

docker

IDE

androidstudio

visualstudiocode



⚙ 시스템 아키텍쳐



📋 프로젝트 산출물


👩‍💻 팀원 역할 분배

이민우 김성재 김희수 김성현 이은규 조은영
alt text alt text alt text alt text alt text alt text
Leader & Backend Backend Backend & Infra Frontend Frontend Frontend

이민우 BE DATA

  • 노트 작성 기능
  • C언어, C++, Java, Python 등 다양한 언어를 지원하는 코드 분석 서버 개발
  • 제출 이력 관리
  • 약 3만건 이상의 문제 데이터 수집
  • BPR 시스템을 위한 1만명의 문제 풀이 데이터 수집

김희수 BE DATA

  • 검색 시스템 개발
  • 추천시스템 모델 학습 및 서버 개발
  • CI/CD 자동화

이은규 FE | DESIGN

  • 로그인/회원가입 구현
  • 푼 문제 분석 기능
  • 취약 알고리즘 분석 기능
  • 댓글 CRUD
  • 챗봇 기능
  • 맞춤형 문제 추천 기능
  • 내 노트 조회 기능
  • 알림 기능
  • UIUX 디자인

조은영 FE

  • 크롬 익스텐션 개발
  • 오답노트 검색 페이지 및 필터링 기능 개발
  • 코드 분석 페이지 개발
  • SEO 최적화

김성재 BE

  • SSE 통신을 활용한 알림 기능 개발
  • 노트 리뷰 관련 기능 개발
  • 노트 북마크 관련 기능 개발
  • ChatGPT API를 활용한 코드 분석 기능 개발
  • 테스트 코드 작성 및 jacoco를 통한 코드 모니터링

김성현 FE

  • Markdown 노트 작성 페이지 개발
  • 내가 푼 문제 페이지 구현
  • 노트 상세 페이지 기능 구현
  • UI/UX 디자인