주변의 개인 사업을 하는 지인이 있었다.(이런 사람이 내 주변에 있는것도 신기방기...) 자세히는 말하기는 어려우나 웹페이지에서 여러 물품을 판매하는 사업이었다. 웹 페이지의 데이터는 외부 데이터베이스와 연동이 되어있었다. 그래서 웹페이지 관리는 어떻게 하세요 물어보니 직접 데이터베이스를 수정하셔서 페이지에 보이는 정보를 관리한다 하셨다. 그래서 살펴보니...
진짜 데이터베이스를 직접 수정하고 계셨다. 마치 엑셀처럼...
내가 이걸보고 DB 조작하는 프로그램 같은거 없어요? 물어보니 예전에 받은적이 있으나 먹통이라는거...
그래서 그냥 아무생각없이 '제가 만들어 드릴까요?' 라고 했고 그분은 'OO씨 그런것도 할줄 알아요??' 라고 해서 만들게 됐다!
이름 하야 GAM-DB ADMIN!!!
핵심 요구사항은 다음 둘과 같다.
- 유저 이름 변경
- 물품 지급
이후 자세한 회의를 거쳤고 최종적으로 필요한 요구사항은 아래와 같다.
- 유저 이름 변경
- 유저 이름은 중복은 금지
- 유저 이름은 3자이상 9자이하일것
- 영어,숫자,한글만 사용 가능
- 물품 지급
- 보내는 사람과 받는 사람이 존재할 것
- 보내는 사람이 없을 경우 '시스템'이 보낸 것을 처리
- 물품을 받을 수 있는 만료일이 있을 것
- 물품을 검색할 수 있을 것 (물품 코드로도 검색 가능)
- 한번에 물품을 여러개 지급할 수 있게 할것
- 인증 기능
- 인증된 사용자만 접근이 가능할 것
- 사용자의 인증 권한은 마스터(지인분)에게 있을 것
- 이미 인증을 마친 사용자도 추후 마스터가 거부할 수 있을것
- 특이 사항
- 데이터베이스가 이미 존재함
개발스펙
일단, 익숙한 기술로 개발하자는 생각이 컸다. 오랜기간 Spring+JPA 스택 공부를 해왔기에 그것을 쓰기로 했다. 이미 데이터베이스가 존재함으로 JPA DDL옵션은 validate로 설정하고 엔티티들은 테이블에 매핑하는 방식으로 개발하였다.
문제는 프런트인데... 단순히 html+css+js로 개발하긴 쉽지 않을 것 같아서 이것저것 찾아본 결과 vue.js가 쉽다고 하더라... 그리고 본인이 튜토리얼을 해본결과 생각보다 직관적이고 쉬운것 같아서 프런트는 vue.js로 간단하게(?) 개발하기로 했다.
본격적인 개발얘기는 다음 글 부터!!!
'프로젝트 이야기 > 물품 지급앱' 카테고리의 다른 글
5. 클라이언트 배포 회고 (feat. hot-reload) (0) | 2023.05.18 |
---|---|
4. 서버 배포 (0) | 2023.05.18 |
3. 인증 기능 구현 - JWT를 이용한 인증,인가 구현 (0) | 2023.05.18 |
2. 핵심 기능 구현 (2) - REST API 설계 (0) | 2023.05.18 |
1. 핵심 기능 구현(1) - 도메인 설계 (0) | 2023.05.18 |