안녕하세요.
저는 Java 백엔드 경력 개발자
김무경입니다.

기술 스택과 실력을 향상시켜, 사용자가 편리하고 안전한 서비스를 경험할 수 있는 세상을 만들고 싶습니다.

개발자로서 항상 새로운 기술과 도구를 익히며 개발 역량을 확장하고, 이를 통해 기술 발전에도 기여하고자 합니다.
다양한 기술 스택과 프로젝트 경험을 쌓으며, 개발 분야의 지식을 넓히고, 다른 개발자들과 지식을 공유하며 함께 성장하는 것이 비전입니다.
또한, 개발자로서 사회적 책임을 다하고, 사회에 도움이 되는 기술을 개발하고싶습니다.
이를 위해 더 나은 코드 퀄리티와 개발 방법론을 고민하며, 새로운 기술을 적용해 더 나은 서비스를 만들어 나가는 것이 목표입니다.

Skills & Experience


My Skills

Java Python
JPA MySQL MyBatis
Spring Spring Boot Spring Security
JSP Ajax jQuery Thymeleaf bootstrap5 JavaScript

수원영신여자고등학교


2013-02 ~ 2016-02

인문계 고등학교 졸업

안양대학교


2019-02 ~ 2023-08

소프트웨어학과 전공

이젠컴퓨터아카데미수원


2022-10-27 ~ 2023-04-19

기업 요구사항을 반영한 자바&파이썬기반 빅데이터활용 풀스택개발자 양성 과정 정상수료

졸업 프로젝트


2022-09-12 ~ 2022-11-27 (2개월 16일)

시각 장애인도 사용 가능한 가계부

(주)핸디소프트 실습생


2022-07 ~ 2022-08 (2개월)

하계방학 현장실습

기업체 요청 ERP 프로젝트


2023-02-03 ~ 2023-02-24 (22일)

기업 요구사항을 반영한 ERP 프로젝트

여행지 정보 공유 블로그


2023-02-17 ~ ing

Google Maps API를 사용하여 사용자들의 여행지 정보를 공유하는 블로그

Project


시각 장애인도 사용 가능한 가계부

작업 기간: 2022-09-12 ~ 2022-11-27
참여 인원: 2명
기여도:
프로젝트 목적 : 모든 사용자가 사용 가능한 가계부
사용언어 및 개발 환경 : JAVA, PHP, MySQL, Android Studio, FileZilla, phpMyAdmin, Google Cloud Vision, Google Text-to-Speech, Google Speech-to-Text API

주요 역할
화면 설계
로그인, 회원가입, 메인 화면 설계
카메라 촬영 및 갤러리 사진으로 지출 내역 작성
촬영 및 갤러리 이미지의 텍스트 인식 및 전처리
Text-to-Speech API로 텍스트를 인식하여 음성으로 변환
당월 기준 카테고리별 지출 내역 분석 및 음성 안내

해당 프로젝트는 졸업 프로젝트로 진행된 프로젝트입니다.
기존에 수기로 작성할 수 있는 가계부에 음성 입력 및 출력과 OCR 기능을 사용하여 시각 장애인도 가계부를 관리할 수 있도록 개발되었습니다.
JAVA, PHP, MySQL와 Android Studio, FileZilla, phpMyAdmin 등의 개발 도구를 사용하였으며, Google Cloud Vision, Google Text-to-Speech, Google Speech-to-Text API를 활용하여 사용자가 음성으로 텍스트 입력 및 텍스트 출력할 수 있습니다.
시각적 정보와 더불어 음성 안내와 터치 기능을 사용하여 사용자가 보다 쉽게 가계부를 관리할 수 있습니다.

Project Detail Slide


프로젝트 상세 기술 스택

개발 언어
Java

안드로이드 개발 환경
Android Studio

서버 사이드
PHP

데이터베이스
MySQL (사용된 도구: phpMyAdmin)

이미지 처리
Google Cloud Vision

텍스트 음성 변환
Google Text-to-Speech

음성 텍스트 변환
Google Speech-to-Text

파일 전송
FileZilla (FTP 클라이언트 소프트웨어)

호스팅
닷홈 (웹 호스팅 서비스)

로그인 화면 상세 기능

로그인은 아이디와 비밀번호를 입력한 후, 로그인 버튼을 눌러 로그인 할 수 있도록 구현했습니다.
아이디와 비밀번호는 회원으로 등록된 아이디와 비밀번호로만 로그인이 가능합니다.

로그인 기능은 가족 공유 기능을 위해 추가하였습니다. 추후 음성 입력과 공유 기능으로 확대할 예정입니다.

회원가입 화면 상세 기능

회원가입은 아이디, 비밀번호, 이름, 나이를 모두 입력해야 회원가입이 가능하도록 구현했습니다.

아이디는 영어 3자리만 입력할 수 있습니다.
비밀번호는 숫자 4자리만 입력할 수 있습니다.
이름은 한글과 영어만 입력할 수 있습니다.
나이는 숫자만 입력할 수 있습니다.

아이디는 아이디를 입력 후, 확인 버튼을 눌러 중복 확인을 해야 합니다.
확인 버튼 클릭 시, 같은 아이디가 있다면 "사용할 수 없는 아이디입니다."라고 출력되고 아이디를 수정해야 합니다.
사용할 수 있는 아이디이면 “사용할 수 있는 아이디입니다.”가 출력되고 해당 아이디는 수정할 수 없습니다.

메뉴 화면 상세 기능

메인 화면은 각 메뉴로 이동할 수 있는 메뉴 버튼과 음성 입력으로 메뉴로 이동할 수 있는 음성 인식 버튼으로 구성되어 있습니다.
메뉴 버튼을 통해 메뉴로 이동하려면 해당 메뉴 버튼을 클릭하여 이동할 수 있습니다.
음성 입력을 통해 메뉴로 이동하려면 음성 인식 버튼을 클릭하여 메뉴를 말하면 이동할 수 있습니다.
메뉴가 아닌 다른 음성을 입력하면 “다시 입력해주세요”가 출력되고 다시 버튼을 눌러 말할 수 있습니다.

캘린더 화면 상세 기능

캘린더 화면에서 하단의 음성 입력 버튼을 클릭하여 음성으로 해당 날짜로 자동 포커싱됩니다.
지출과 수입 금액아 화면 출력 및 음성 출력이 됩니다.
또는 해당 날짜를 클릭하여 해당 날짜의 지출, 수입 금액을 확인할 수 있습니다.

수입 작성 화면 상세 기능

수입 작성 기능을 구현했습니다.
수기 작성 및 음성 작성으로 수입 작성이 가능합니다.

수입 음성 작성 화면 상세 기능

수입 음성 작성 기능을 구현했습니다.
수입을 음성 입력을 할 경우, 수입 음성 입력 화면에서 날짜, 카테고리, 금액 순으로 입력할 수 있습니다.

지출 작성 화면 상세 기능

지출 작성 기능을 구현했습니다.
사용자는 수기 작성 및 이미지 작성을 선택할 수 있습니다.
버튼과 음성 입력으로 원하는 방법을 선택할 수 있습니다.

지출 이미지 작성 화면 상세 기능

이미지로 지출 작성이 가능하도록 구현했습니다.
사용자는 카메라 촬영 및 갤러리에서 이미지 선택으로 지출 내용을 작성할 수 있습니다.

검색 화면 상세 기능

검색 기능을 구현했습니다.
검색 화면에서 음성 입력 버튼을 클릭하여 카테고리를 말하면, 해당 월의 해당 카테고리 사용 금액을 화면에 출력하고, 음성 출력이 됩니다.

분석 화면 상세 기능

분석 기능을 구현했습니다.
당월 기준 카테고리별 지출 내역이 파이 차트로 출력되며, 전체 비용 중 카테고리별 퍼센트를 음성으로 출력합니다.

Project


기업체 요청에 맞춘 ERP 시스템

작업 기간: 2022-02- ~ 2022-02
참여 인원: 9명
기여도:
프로젝트 목적 : 기존에 엑셀로 관리되던 현장 작업내역들을 ERP 시스템으로 관리
사용언어 및 개발 환경 : Mysql, Java, spring-boot, mybatis, spring-mvc, html-css-javascript, bootstrap5, springsecurity-jwt

주요 역할
기본 정보 관리 부분의 장비 등록/수정/삭제,
현장 정보 관리 부분의 장비대여 등록/수정/삭제,
회계 정보 관리 부분의 인건비 등록/수정/삭제

해당 프로젝트는 기업체의 요청을 받아 진행된 프로젝트입니다.
기존에 엑셀로 관리되던 현장 작업내역들을 ERP 시스템으로 관리할 수 있도록 개발되었습니다.
매입, 매출 내역관리 및 장비렌탈 현황 그리고 미수금 내역들을 볼 수 있습니다.
Spring Security를 활용하여 사용자는 유저들의 권한을 관리 할 수 있습니다.

Project Detail Slide


프로젝트 상세 기술 스택

Back-End
Java 11, RESTful API, Mybatis, Swagger3.0

Front-End
HTML5, CSS, JavaScript

Server
Apache Tomcat

DB
MySQL

Spring Security - JWT 인증을 구현하여 URL 별 인가 처리를 구현했습니다.

서비스 기획 및 방향성 설계

서비스는 User Service와 Admin Service가 있습니다.

User Service는 로그인, 기본 정보 관리, 현장 정보 관리, 회계정보 관리, 고객센터가 있습니다.

Admin Service는 미수금 관리, 회원 관리가 있습니다.

사용자 페이지 주요 기능

모든 카테고리에서 데이터 보기, 등록, 수정, 삭제 기능을 구현했습니다.

사용자 페이지 주요 기능

검색 기능을 구현했습니다.
여러 조건에 따른 검색이 가능하며, 사용여부/완료여부에 따른 검색도 가능합니다.

사용자 페이지 주요 기능

파일 첨부 및 목록 보기 기능을 구현했습니다.
등록 및 수정 폼에서 파일 첨부 기능을 구현하고, 리스트 목록에서 첨부된 파일을 볼 수 있습니다.

사용자 페이지 주요 기능

캘린더를 구현했습니다.
장비임대 년ㆍ월별 건수 처리 및 캘린더 기능을 구현했습니다.
렌트 기간에 따른 캘린더를 구현하여 클릭하면 해당 임대 정보로 이동할 수 있습니다.

사용자 페이지 주요 기능

공사 요청 기능을 구현했습니다.
공사 요청 사항 등록시 공사명을 선택할 수 있습니다.
공사 현황 목록에서 공사명 클릭시 해당 공사에 대한 요청 사항을 확인할 수 있습니다.

사용자 페이지 주요 기능

매입 매출 전체 현황 보기 기능을 구현했습니다.
회사명 / 거래처명 / 공사명으로 구분하여 모든 매출과 매입을 확인할 수 있습니다.
회사명과 거래처명의 부분합을 구현하여 잔액이 0이 되면 완료여부가 변경됩니다.

사용자 페이지 주요 기능

QnA 게시판과 자유게시판을 구현했습니다.
글쓰기에서 카테고리(공지사항 / 자유게시판 / QnA)를 설정할 수 있습니다.

사용자 페이지 주요 기능

게시판 댓글 기능을 구현했습니다.
게시판 글 상세보기 우측에 댓글 목록을 구현했습니다.
(RESTful을 활용한 비동기 처리)

관리자 페이지 주요 기능

블랙리스트 기능을 구현했습니다.
미수금 현황을 등록하고 블랙리스트를 관리할 수 있습니다.
우측 아이콘을 누르면 블랙리스트 변경할 수 있도록 비동기 처리했습니다.

관리자 페이지 주요 기능

계정 관리 기능을 구현했습니다.
권한 변경을 누르면 유저 또는 관리자로 권한 변경이 가능하고, 계정 삭제를 누르면 계정이 삭제됩니다.

Project


여행지 정보 공유 블로그

작업 기간: 2023-03- ~ ing
참여 인원: 1명
기여도:
프로젝트 목적 : 블로그 형식으로 사용자들이 자유롭게 여행지 정보를 공유하는 블로그
사용언어 및 개발 환경 : Mysql, Java, spring-boot, JPA, spring-mvc, html-css-javascript, bootstrap5, spring security

주요 역할
데이터베이스 설계
서비스 기획 및 방향성 설계
로그인, 회원가입, QnA 게시판, 여행지 공유 게시판, 개인 프로필 설정 기능 구현 Google Maps API를 사용하여 여행지 정보 출력

해당 프로젝트는 블로그 형식의 여행지 정보 공유 프로젝트입니다.
사용자들이 자유로운 형식으로 여행지 정보를 공유할 수 있도록 블로그 형식으로 개발되었습니다.
자유로운 형식으로 작성하기 위해 Summernote를 사용하여 본문에 표, 사진, 링크 등의 첨부가 가능합니다.
Google Maps API를 사용하여 여행지명을 검색하기만 하면 해당 여행지의 정보가 자동으로 등록됩니다.
Spring Security를 적용하여 회원만 게시글 작성 및 수정, 삭제가 가능합니다.

Project Detail Slide


프로젝트 상세 기술 스택

Back-End
Java, JPA, Spring Boot 2.7.8

Front-End
HTML5, CSS, JavaScript

Server
Apache Tomcat

DB
MySQL

로그인

Spring Security로 로그인 기능을 구현했습니다.

로그인(인증)하지 않은 회원이 인증을 요구하는 페이지에 접속할 경우, 로그인 페이지로 이동하여 보안을 강화했습니다.
로그인할 때, 데이터를 잘못 입력하여 발생한 오류 정보를 BindingResult 객체를 통해 사용자가 알 수 있도록 구현했습니다.

회원가입

Spring Security로 회원가입 기능을 구현했습니다.
비밀번호를 암호화하는 PasswordEncoder 인터페이스로 비밀번호를 암호화하여 저장하여 악의적인 공격자가 데이터베이스에 저장된 비밀번호를 복호화하여 알아낼 수 없도록 보안성을 높일 수 있도록 구현했습니다.

QnA 질문 등록

QnA 질문 등록 기능을 구현했습니다.
사용자는 문의사항이 있을 경우, QnA 질문 등록을 통해 가능합니다. 파일 첨부 기능도 구현하여, 사용자는 이미지 파일을 첨부할 수도 있습니다.

질문에 대한 답변 기능

질문에 대한 답변 기능을 구현했습니다.
JPA(Java Persistence API)에서 제공하는 관계 매핑 기능을 통해 질문에 대한 답변을 등록 및 수정, 삭제가 가능합니다.

QnA 검색

QnA 검색 기능을 구현했습니다.
제목, 내용, 글쓴이로 통합 검색이 가능합니다.

여행지 정보 등록 모달창

여행지 정보 등록 모달창 구현했습니다.
부트스트랩5로 여행지 정보 등록 모달창을 구현했습니다.

여행지 정보 등록

여행지 정보 등록 기능을 구현했습니다.
Google Mpas API로 지도를 불러와 검색창에 여행지를 검색하여 마커를 선택하면 동적으로 여행지 정보가 담긴 카드가 생성됩니다.

여행지 정보 등록

여행지 정보 등록 기능을 구현했습니다.
여행지 정보 내용 작성시, 자유로운 양식으로 작성이 가능하도록 Summernote API를 사용하여 표, 링크, 이미지 삽입 등이 가능합니다.

여행지 정보 공유 상세 페이지

여행지 정보 공유 상세 페이지에서 댓글, 좋아요, 조회수 기능을 구현했습니다. 좋아요는 중복으로 할 수 없으며 다시 좋아요 버튼을 눌렀을 경우, 좋아요가 취소됩니다.

개인 프로필 설정

개인 프로필 설정 페이지에서 사용자의 정보를 수정할 수 있으며, 파일 업로드 기능을 구현하여 프로필 사진을 설정할 수 있습니다.
사용자는 회원 탈퇴를 할 수 있으며, 작성한 모든 정보가 삭제되며 되돌릴 수 없습니다.
개인 활동 기록도 볼 수 있으며, 작성글, 작성 댓글, 작성 댓글의 글, 좋아요한 글, 질문글을 볼 수 있습니다.

@2023

Made with   by ThemeWagon