PROJECTS
2023 묘한 편지: 새해 다짐 응원 챌린지
2022. 12. 23.~2022. 12. 31. (3인 개발)



- 기술 스택 : Spring Boot, Spring Security, JPA, JWT, Nginx, MySQL, React, jQuery
- 간단한 회원가입을 통해 개인화면 및 새해소망을 커스터마이징하여 지인들에게 공유하고, 1월 1일에 받은 편지를 공개하는 서비스
- 개발 3人, 디자인 3人
- 일주일 동안 개발하여 2주간 서비스
(이용자 약 500명 확보) - Github, 디스코드, 구글드라이브 등을 통해 개발자, 디자이너간 협업
- 역할 : 매일 회의를 진행하여 각 팀원에게 임무 분배, 디자이너와 소통하며 기획 의도에 맞게 PM역할 수행
도메인 구매 및 SSL 인증하여 Nginx 웹서버 구축, 이후 리버스 프록시 설정하여 Spring boot와 React 연결
uuid를 통한 유저 관리 기능 개발
소유 용돈에 따른 달 위상 및 토끼 커스터마이징 React Component 개발 - Site
- Github
이지피포: 피포페인팅 이미지 자동 제작 시스템
2021. 3.~2021. 6. (2인 개발)




- 기술 스택 : Python, Flask, OpenCV, Numpy, JavaScript, jQuery
- 사진을 피포페인팅 이미지로 자동 변환해주는 시스템
- Image Processing 기반의 3가지 모듈 제작
1) Painting : 이미지를 그림처럼 변환해주는 모듈
2) Draw Line : 이미지의 색상 경계선을 기준으로 선을 그려주는 모듈
3) Numbering : 선 내부에 색상을 추출하여 Color Index Number를 기입해주는 모듈 - 사용자의 작업 편의성을 위해 Flask Framework 기반의 Web Application으로 제작
- 역할 : Flask, Jquery 등을 활용해 Back-end와 Front-end 구축
OpenCV 등을 활용해 Numbering 모듈 개발
Painting, Draw Line 모듈 통합 - 특허 등록 : 『피포페인팅 이미지 자동변환방법 및 시스템』
SCI 논문 등재 : 『Development of Automatic Conversion System for Pipo Painting Image based on Artificial intelligence』(Link)
졸업 작품 최우수상(1등)
2021 우수 창업아이템 선정(교내) - Github
PDF 파일 내 테이블 데이터 자동 추출 시스템
2021. 3.~2021. 12. (4인 개발)



- 기술 스택 : Python, Flask, OpenCV, Pandas, Numpy, JavaScript, Jquery
- PDF 문서에서 테이블을 자동으로 감지하고, Web 상에서 데이터를 추출 및 가공할 수 있는 Web Application
- 기존 오픈소스 라이브러리 "Camelot" Refactoring
- OpenCV 기반 Image Processing을 통해 Table Detection 성능 개선
- 멀티프로세싱을 통해 Table Detection 시간 단축
- 테이블 데이터를 Excel Sheet에서 가공할 수 있는 기능 제공
- UX를 반영한 UI 설계를 통해 사용자의 작업 편의성 향상
- 역할 : Flask, Jquery 등을 활용해 Back-end와 Front-end 구축
UX를 반영한 UI 설계
개선된 테이블 인식 모듈 통합
Table to Xlsx 모듈 통합 - Github
음성 인식을 활용한 서버관리 시스템
2019. 9.~2020. 11. (개인 프로젝트)


- 기술 스택 : Python, Flask, JavaScript, jQuery, ShellScript, MySQL, CentOS
- Web 기반 음성인식을 통해 Linux 서버에 간단한 모니터링 및 명령을 내릴 수 있는 Web Application
- 브라우저의 Speech Recognition API를 활용하여 Web 브라우저 상에서 명령형 음성 인식 수행
- 평소 대기모드 상태이며, 호출어 "헤이"를 통해 명령모드 상태로 진입 가능
- 명령모드 상태에서 일정 시간 입력이 없을 경우 대기모드 상태로 진입
- 음성 명령이 인식되면 Web 상에서 STT된 텍스트를 Socket.io를 통해 Back-End로 전송하며, 형태소 분석을 통해 수행 가능한 명령 목록과 맵핑
- 맵핑된 명령은 Linux 서버와 Socket 통신을 통해 전달되며, 명령 결과를 받아와 팝업 창에 출력
- Linux 서버는 IP, SSH Port, SSH 계정을 통해 자유롭게 등록, 수정, 삭제가 가능하며, 등록된 서버 목록과 실시간 통신 가능 상태를 좌측에 표시
- SSH 통신을 통해 서버가 등록되면, 음성 명령을 수행할 수 있는 Socket 클라이언트 모듈과, 통신 환경을 세팅해주는 ShellScript 파일을 전송하여 실행
- 등록 완료된 서버에 수행 가능한 명령은 사양 정보, 실시간 리소스 모니터링, 로그인 성공&실패 기록 확인, 유저 목록, IP차단목록, MySQL 설치&삭제, MySQL 백업&복구, 서버 보안 점검 등이 있음
- Github
이미지 기반 육질등급 자동측정 시스템
2021. 7. (4인 개발)


- 기술 스택 : Python, Flask, Pytorch, OpenCV, MySQL, JavaScript, jQuery
- 소고기 및 돼지고기 이미지를 통해 자동으로 육질 등급을 측정해주는 Flask 기반 Web Application
- 공공데이터 육류 이미지 7만장을 활용하여 Pytorch 기반 딥러닝 모델 구축
- 컴퓨터와 휴대폰 모두 서비스 가능하도록 별도의 UI 스타일 구축
- 육질 측정 정보를 라벨로 생성하여 출력 및 다운로드 가능하도록 개발
- 축산 업자 대상, 멤버쉽 결제 기능을 서비스하여 수익 구조 설계
- GPS 기반, 현위치 주변의 멤버쉽 가입 업체 표시
- 역할 : Flask, Jquery 등을 활용해 Back-end와 Front-end 구축
딥러닝 판정 모듈 통합
라벨 출력 및 결제 모듈 통합 - 2021년 충북 공공데이터 활용 창업경진대회 최우수상
- Github
코로나19 나의 동선 안심 앱
2021. 9.~2021. 11. (1인 개발)

- 기술 스택 : Java, Android, SQLite
- 실시간 위치 추적을 통해 사용자의 동선을 저장하고, 확진자 방문 장소와 동선이 겹칠 시 확인할 수 있는 Android App
- 30초마다 GPS를 통해 사용자의 위도와 경도를 받아와, 사용자 기기 로컬 DB에 저장
- 지자체 홈페이지에 게시된 확진자 방문 장소 정보를 30분마다 크롤링하여 사용자 기기 로컬 DB에 저장
- 유클리드 거리 알고리즘을 사용하여 15m 이내에 들면 겹쳤다고 판단하였으며, 장소는 Geocoder API를 이용하여 위도&경도를 주소로 변환하여 표기
- Location 화면에서 Naver Map API를 이용하여 사용자 동선, 확진자 방문 장소를 표시해주며, 동선의 장소가 겹치면 같은 장소라고 판단하여 시간 값만 증가
- Path history 화면에서 지난 동선 기록을 시간대 별로 표 형식으로 확인할 수 있으며, 확진자 방문 장소와 겹친 부분을 하이라이트 표시해줌
- 확진자가 방문했던 장소는 지도에 붉은 반투명 원으로 표시
- 역할 : Back-end와 Front-end 구축
포어그라운드로 실시간 GPS 위치를 받아 날짜&시간 별 DB에 저장
Naver Map API에 경로 및 확진 장소 표시
Geocoder API를 활용해 방문 장소 표시
지자체 홈페이지에서 확진자 방문 장소 크롤링 - Github
Flask를 활용한 타임라인 게시판 구축
2019. 3.~2019. 6. (개인 프로젝트)

- 기술 스택 : Python, Flask, MySQL, SQLite, JavaScript, jQuery
- Web 개발 학습을 목적으로 진행한 Flask 기반 타임라인 형식의 Web 게시판 구축 개인 프로젝트
- 회원가입, 로그인, 비밀번호 찾기 등 회원 관리 시스템 구현
- 게시글 작성 기능 - 타임라인에 따라 작성된 순서대로 보임
- 좋아요 기능 - 0개일 땐 보이지 않으며, 이후 개수가 출력됨
- 댓글 기능 - 댓글에 마우스 hover 메뉴를 통해 본인이 작성한 댓글 수정, 삭제 가능
- 답글 기능 - 모든 댓글에 답글을 달 수 있으며, 답글에 답글을 달아도 Root 댓글에 달린 답글로 간주
- 최초에 최신 글 10개를 가져와 출력해주며, 이후 스크롤이 페이지 하단 10% 위치 이하로 내려갈 때 마다 추가 게시글 10개를 불러와 하단에 이어서 출력
- Github
온라인 사진 전시회 플랫폼 구축
2021. 10. (3인 개발)

- 기술 스택 : Python, Flask, MySQL, JavaScript, jQuery
- 교내 사진동아리 온라인 전시회를 위한 Web 플랫폼
- 작품 사진 및 부원 사진, FAQ 등 정보 확인을 위한 정적 Web
- 관리자가 Web에 게시되는 정보를 추가, 삭제, 수정할 수 있도록 관리자 페이지 구축
- 역할 : Flask, Jquery 등을 활용해 Back-end와 Front-end 구축
- Github