학습 프로젝트
에이콘 프로그래머스
웹 애플리케이션
GIT - https://github.com/blank09114/AcornProgramers
2026.01.07. 18:50
프로젝트 개요
코딩 문제 풀이와 랭킹 시스템, 커뮤니티 기능을 제공하는 학습용 웹 애플리케이션입니다. 사용자가 문제를 풀고 점수를 획득하면 랭킹에 반영되며, 포인트로 상품을 구매할 수 있는 차별화된 경험을 제공합니다.
- 개발 형태: 웹 애플리케이션
- 개발 인원: 5인
- 기술 스택
- 프론트엔드: HTML, CSS, JavaScript
- 백엔드: Java, JSP/Servlet
- DB: Oracle
- 개발 환경: VS Code, Eclipse
- 협업 도구: Figma, Git, GitHub
→ 성과 자료
ERD/클래스 설계



ERD를 통해 주요 테이블을 정의하고 관계를 설계하고, 클래스 다이어그램을 통해 MVC 패턴에 맞춰 객체 구조를 설계하는 등, 설계 단계에서부터 DB 구조와 클래스 구조가 맞물려 동작하도록 문서화하는 과정을 주도했습니다.
메인


- 사용자가 가장 먼저 접속하는 진입 화면으로, 문제 풀이·랭킹·커뮤니티 페이지로 이동할 수 있도록 구성했습니다.
- 로그인 여부에 따라 인터페이스가 달라지며, 사용자 맞춤형 메뉴가 표시됩니다.
커뮤니티





- 사용자들이 자유롭게 글을 작성·수정·삭제할 수 있는 게시판 기능을 구현했습니다.
- 검색 기능과 좋아요, 댓글 작성·삭제 기능을 지원하여 사용자 간 상호작용을 강화했습니다.
- 게시글 작성 시 미입력 값에 대한 유효성 검사를 추가해 실사용 환경을 고려한 UX 개선을 적용했습니다.
발표
프로젝트 최종 발표 자료를 직접 제작하고, 발표 진행까지 담당했습니다. 프로젝트 개요 → ERD/클래스 다이어그램 → 화면 흐름 → 실행 화면 순서로 구성하여 청자가 전체 맥락을 쉽게 이해할 수 있도록 했습니다.
배운 점
이번 프로젝트를 통해,
- MVC 패턴을 활용하여 역할을 명확히 분리하는 방법을 배웠고,
- DB ERD와 클래스 다이어그램을 기반으로 구현해 설계와 구현의 연계성을 체득했으며,
- JSP와 Servlet으로 Controller-View 간 데이터 흐름을 구현하면서 웹 애플리케이션 구조를 이해할 수 있었습니다.
아쉬운 점과 개선 아이디어
- 보안 처리 미흡: 회원 비밀번호를 암호화하지 않고 평문으로 저장·검증했습니다.
→ 이후에는 SHA-256, BCrypt 등의 해시 함수를 적용해 보안을 강화할 필요가 있습니다.
- 버그 존재: 짧은 개발 기간으로 인해 일부 자잘한 버그가 남았습니다.
→ 지속적인 디버깅과 테스트 자동화를 통해 개선이 필요합니다.
- 세부 기능 부족: 텍스트 커스텀, 파일 업로드 기능 등이 빠져 아쉬웠습니다.
→ 추후 스마트 에디터, CK에디터, Quil 에디터 등의 WYSIWYG 라이브러리 도입을 고려할 수 있습니다.
- 사용자 친화성 부족: 학습 보조 기능이 부족했습니다.
→ 추후 AI 챗봇이나 힌트 시스템을 추가해 사용자 경험을 강화할 수 있습니다.