다원ERP_개발 정보

(개발언어, 장비, 예정내역)


Project Infomation

Project Name : 다원ERP

기획 : Karzin

분석 : Karzin

설계 : Karzin

개발 : Karzin

디자인 : Karzin

유지보수 : Karzin

 


개발 정보

Develop Language JAVA 1.8 General Public License, GNU
Web Framework Spring Boot Apache License 2.0
Template Engine Thymeleaf Apache License 2.0
DBMS Maria DB GPL v2, LGPL
WAS Tomcat 8 Apache License 2.0
Front-end Framewrok Bootstrap MIT License
(Apache License 2.0 prior to 3.1.0)
JavaScript Library jQuery MIT License
Software Configuration Management GitLab (개인 구축_Karzin) MIT License
UI Library (예정) TOAST UI (NHN) MIT License
* 개인 프로젝트시 UI Libaray (Chart, Grid 등)를 각각 따로 필요한걸로 썼었는데 이번에 TOAST UI가 괜찮아 보여서 채택. 
  -> 기능 괜찮고, 특성이 맞고, 버그가 어느정도 해소되어 있는거라면 계속 사용예정 
IDE Eclipse (Back-end & Front-end) Eclipse Public License(EPL)
Visual Studio Code (Front-end) MIT License (Source), Freeware
DBeaver (DB) Apache License

 

 


 

 

개발 장비 정보

개발 장비 1
  OS Windows 10 Pro
  CPU Intel® Core™ i7-6700
  GPU NVIDIA GeForce GTX 1070ti
  RAM DDR4 16GB
개발 장비 2
  OS Windows 10 Pro
  CPU Intel® Core™ i7-6700
  GPU NVIDIA GeForce GTX 960
  RAM DDR4 16GB
테스트 서버 (DB, WEB, WAS 서버 통합)
  OS Ubuntu 18.04
  CPU CPU Intel® Core™ i3-4130T
  GPU CPU 내장 그래픽카드
  RAM DDR3 16GB
  * 자동배포 툴(CI) 사용 Jenkins (MIT License)
클라이언트 - 모바일 장비
  Galaxy A8(2016) Android 8
  Galaxy S8+ Android 9
  Galaxy S9 Android 10
  iPhone SE iOS 13.5.1
  iPhone SE2 iOS 13.5.1
  iPhone XR iOS 13.5.1
클라이언트 - 태블릿 장비
  iPad Pro 9.7(1Gen) iPadOS 13.5.1
* WEB 테스트는 Chrome, IE, Safari, Samsung Internet Browser에서 테스트 예정입니다.

 

 


 

 

추후 연계 개발 정보 (예정내역)

1. 모바일용 Application 개발 예정 (WebView 기반이 아닌, Native App)
  Android Kotlin 기반 (Target : Android 8 이상)
  iOS Swift 기반
2. 다국어 지원 예정
한국어 (기본) English 日本語

 

버전정보 (v1.1)

 - v1.0 2020.06.12 배포

 - v1.1 2020.06.14 수정 ( DBever -> DBeaver, 가독성을 위한 표간 거리 수정 )

 

* 저작권에 위반될 수 있는 컨텐츠(이미지, 동영상 등)나 게시글은 삭제되거나 수정될 수 있습니다.

* 문제의 여지가 될 수 있는 컨텐츠의 경우 댓글 달아 주시면 빠른 시일 내에 조치하도록 하겠습니다.

 

Project 다원_ERP

Karzin

abbeea@naver.com


[2020.06] Project 다원 공지


 

 

프로젝트를 시작하겠다고 게시글을 적은 2018년 9월 11일로부터 벌써 약 2년이 되어가네요.

그 동안 저는 제 실력이 많이 부족하다고 생각을 하고 있었고, 지금도 많이 부족하다고 생각하고 있습니다.

그래서 회사일에, 대학원 수업과 과제에, 개인적인 업무들에 치어살고만 있었습니다.

하지만 부족함 속에서도 조금씩 만들어가는 노력을 해보는게 우선이라고 생각이 들었고,

분석 - 설계 - 개발 - 이후 모든 것이 가능한,

개발만이 아닌 모든 면의 실력을 겸비하고 싶다는 목표가 있기 때문에 다시금 이어볼까 합니다.

 

 

저는 단순히 개발만이 아닌 좀 더 그 너머를 바라보고 있습니다.

너무 느리고 돌아가고 실패를 하더라도 그 경험한 모두가 저에게 있어 긍정적인 부분으로 발전했으면 좋겠네요.

 

 

물론 모든 사람이 불만이 없는 프로그램을 만들 수는 없겠지만,

또 버그가 없는 완벽한 프로그램이 될 수도 없겠지만,

단 한 사람이라도 필요하고 사용해야 할 프로그램이 있다면

그 한 사람을 위해서라도 개발을 해나갈 수 있는 개발자가 되고자 합니다.

 

 

회사, 대학원, 또 아직도 끝나지 않은 개인적인 일들로 부족한 시간이겠지만, 더욱 쪼개고 더욱 열심히 모두를 위해 뛰어다니는 Karzin이 되겠습니다.

 

 


다원

모두 다 원하는, 모두 다 사랑하는 사람


 

Project 다원은 제가 혼자 진행하는 프로젝트임을 미리 알려드립니다.

(아이디어-기획-분석-설계-개발-이후 유지보수 등 저 혼자가 진행하는 프로젝트입니다.)

또한 Project 다원에서 만든 프로그램은 전부 무료로 배포할 예정입니다.

(배포한 프로그램에는 거슬리지 않을 정도의 광고는 포함할 수 있습니다.

이는 개인적인 용도보다는 프로젝트를 위한 서버 구매/운영비용과 개발을 위한 서적 구매등으로 이용될 예정이며,

추후 기회가 된다면 제 개인적으로 기부하는 것 이외에 추가적으로 프로젝트의 이름등으로 기부도 해볼까합니다.)

 

 

 - Project 다원 ERP : ERP Core, Java 기반으로 Spring Framework를 통한 Web 연동의 기반이 될 것입니다.

 - Project 다원 원격 마우스 : 오래된 스마트폰을 재활용하는 프로젝트의 하나로, Android로 제작 후 시간이 될 때 iOS도 지원할 예정입니다. Android는 Kotlin 기반으로, iOS는 Swift를 기반으로 제작될 예정입니다.

 - Project 다원 원격 키보드 : 오래된 스마트폰을 재활용하는 프로젝트의 하나로, Project 다원 원격 마우스와 마찬가지로 Android 제작 후 iOS 지원 예정입니다.

 - Project 다원 원격 키보드 & 마우스 : 상단의 두 항목 (Project 다원 원격 마우스 / Project 다원 원격 키보드)을 종합할 예정입니다. 본 어플이 나오는 경우 원격 마우스와 키보드는 실험적 요소가 될 베타테스트적 어플로 바뀔 예정입니다. 위 두 항목처럼 Android는 Kotlin, iOS는 Swift 기반으로 제작될 예정입니다.

 - Project 다원 PPT 원격 리모콘 : PPT를 원격으로 컨트롤 할 수 있도록 할 예정입니다. 음성인식 등 실험적요소도 들어갈 예정입니다.

 - Project 다원 영상편집 : 가벼운 영상편집을 목표로 두고 있습니다.

 - Project 다원 듀얼모니터 : 오래된 스마트 디바이스를 재활용하는 프로젝트의 하나로, 폰, 태블릿등을 PC등에 연결하여 모니터로 활용할 수 있는 어플을 생각하고 있습니다.

 

이외에도 검토하고, 개발 예정 중인 프로젝트들은 아직 많이 있습니다.

최대한 시간을 쪼개가며 개발을 할 예정입니다.

 

 

모두 다 원하는, 모두 다 사랑하는 프로젝트가 될 수 있도록

Project 다원



분석 (2)



오늘은 분석 2번째 시간을 가져보겠습니다.


사실 이번시간에는 저번시간에 미리 말씀드린대로 오픈되어있는 ERP를 검색해서 해당 소스들을 분석해 보려 했습니다...만, 제 안 좋은 습관 중 하나가 아직 답도 안잡혀있으면서 답을 먼저 보려고 한다는 점입니다.


항상 답을 먼저 보고나면 흥미를 잃고 그 이후에는 정해진 답이라는 틀에 갇혀 다른 답을 못낸다는 점입니다.


분명 공부를 하기로 했지만, 너무 답에 연연하지 않고 제가 생각하는 답을 찾아서 가는 형식을 취하기로 했습니다.


물론, 제가 원하는 ERP가 추구하는 방향이 기존 ERP와는 많이 달라진다하더라도, 제 자신만의 답을 찾아볼까 했습니다.

(공부에 답이 없다고 생각합니다. 다만, 답이 없는 만큼 답이라고 해도 될 정도로 철저하게 하는게 맞다고 생각합니다.)


여담이 길어졌네요. 여담은 나중에~ 나중에~ 나중으로! 미루고!


오늘의 주제로 돌아가보도록 하겠습니다.



저는 ERP에 있어 가장 중요하다고 생각하는 부분은!


물론 돈(회계)이 가장 중요할 순 있겠지만, 저는 사람(인사)이라고 생각합니다.


사람관리가 잘 되는 회사여야만 회사가 잘 돌아간다는 거죠.


왜 이런 주제랑 다른것같은 이야기를 하느냐? 주제에 일치합니다!


저는 인사가 가장 먼저 개발이 이뤄져야하지 않을까 싶었습니다.



제가 생각하는 인사의 기본적인 정보(사원 기본 테이블)는 다음과 같습니다.


 - 사원 ID (고유해야함) [not null, key]

 - 사원 이름 (중복 가능 - 이름이 같은 사람은 분명 있습니다!) [not null]

 - 사원 생년월일 (중복 가능 - 생일 축하?) [not null]

 - 사원 입사일 (중복 가능 - 입사일로 부터 기간을 계산) [not null]

 - 사원 휴대폰 번호 (중복 불가) [null : 워라벨을 중시하는 현시점에서 연락은 하지 말도록 합시다!]

 - 사원 집 전화 번호 (중복 가능 : 부부일 수 있다. 룸메같이 같은 집에 살 수 있다.) [null : 집전화를 사용치 않는 경우 상정]

 - 사원 집 주소 (중복 가능 : 부부일 수 있다. 룸메같이 같은 집에 살 수 있다.) [null : 워라벨! yeah!]

 - 사원 최종 학력 (중복 가능) [null : 개인정보!]


두번째로 사원의 부서 직급 정보(사원 부서 직급 테이블)입니다. (지금은 인사만 분석하므로 부서, 직급테이블은 나중에 따로 언급하겠습니다.)


 - 사원 ID (고유해야함) [not null, key]

 - 부서 ID (중복 가능)

 - 직급 ID (중복 가능)


세번째로 로그인 권한 정보(사원 로그인 테이블)입니다.


 - 사원 ID (고유해야함) [not null, key]

 - 사원 passwd (보안설정되어있음.) [not null] * 패스워드 정보는 외부에서 볼 수 없습니다.

 - 사원 마지막 로그인 이력 (로그인시마다 업로드, 중복 가능) [not null - 첫 로그인 전이라면 0000년 00월 00일 00시 00분 00초 등으로 초기화]

 - 사원 마지막 로그아웃 이력 (로그아웃시마다 업로드, 중복 가능) [not null, 로그인 이력과 동일]


네번째로 사원 출퇴근 관리 이력(사원 출퇴근 관리 테이블(log))입니다. (야근을 파악 할 수 있습니다.)


 - 출퇴근 정보 (출근, 퇴근) [not null]

 - 날짜

 - 시간

 - 사원 ID

 - 부서 ID


다섯번째로 게시판 권한에 대한 정보(사원 게시판 권한 관리 테이블)입니다.


 - 사원 ID (고유해야함) [not null, 외래key]

 - 마스터 자격 (boolean, true인 경우 모든 게시판의 권한을 가지고 있습니다.) [not null(true or false)]

 - 시스템 관리 게시판 권한 ID (중복 가능) [not null]

 - 인적자원관리 게시판 권한 ID (중복 가능) [not null]

 - 기업 서비스 관리 게시판 권한 ID (중복 가능) [not null]

 - 프로젝트 관리 게시판 권한 ID (중복 가능) [not null]

 - 공급 사슬 관리 ID (중복 가능) [not null]

 - 고객 / 상품 관리 (중복 가능) [not null]

 - 재무 관리 (중복 가능) [not null]

 - 제조 관리 (중복 가능) [not null]


사원 게시판 권한 관리 테이블의 경우 각 게시판 별로 더 쪼개둘 생각입니다.


이런 경우를 상정해 보고 있어 나눴습니다._(모든 인원은 자신의 휴가 관리를 할 수 있으나, 충원이나, 급여관리와 같은 정보는 인사과 혹은 회계과가 아니면 볼 수 없게 하기 위함입니다.)


혹은 읽기 권한이 필요하지만, 쓰기 권한은 필요하지 않은 경우. (높은 직급의 개발자가 아닌사람은 프로젝트 관리에서 쓰기권한이 필요하지 않습니다. 읽기 권한을 통해 프로젝트를 확인할 수 있습니다.)


- 시스템 관리 게시판 권한 ID (고유해야함) [not null, 외래key]

- 사용자 관리 권한 (읽기, 쓰기)

- 시스템 관리 권한 (읽기, 쓰기)

- 환경설정 권한 (읽기, 쓰기)


동일하기 인적자원관리 권한

 - 인적 자원 관리 게시판 권한 ID (고유해야함) [not null, 외래key]

 - 충원(인사관리)

 - 혜택

 - 급여관리

...


등등...


위처럼 게시판마다 권한 ID를 부여하는 이유는 사원 A와 사원 B가 같은 게시판에서 같은 권한을 가지는 경우

같은 게시판 권한 ID를 부여하여 관리하기 용이하기 위함입니다.



마지막으로 사원의 급여 정보 (사원 급여 테이블) 입니다.


 - 연봉 협상일 (기본key (사원 ID와 합쳐 기본key))

 - 사원 ID (기본key (연봉 협상일과 합쳐 기본key))

 - 연봉 정보

 - 기본 월급 정보 (연봉 / 12)

 - 세금 정보

 - 실 수령 월급 정보 (기본 월급 정보 - 세금 정보)

 - 인센티브

 - 추가금액 (야근 등)


연봉협상일 + 사원ID를 기본 키로 한 이유는 기존 연봉협상일에서 현재 연봉협상까지 연마다 쌓여가면서 사원의 연봉이 얼마씩 올랐는지 파악을 가능하게 했습니다.

특히 이렇게 하는 이유중 하나는, 특별히 어느 한사람이 한사람몫 이상의 일을 할 경우, 또 경험자인 경우에 어느정도 씩 추가적인 연봉의 협상이 이뤄졌는지 파악이 가능하게 하기 위함입니다.


아직까지도 파악해야할 부분이 많이 남아있습니다.


실제로 위 정보들중에서는 더 추가해야할 부분도, 빠져야할 부분도 있다고 생각이 듭니다.


계속해서 분석을 통해서 더 다듬어 나갈 예정입니다.



다음은 설계(2)에서 뵙도록 하겠습니다.


설계(2)에서는 ER-다이어그램을 제작하여 기본적인 인사정보의 DB 정보를 살펴보도록 하겠습니다.



>> 문의 등의 정보 제공은 댓글을 달아 주세요.


버전정보

 - v1.0 2018.09.17 배포

 - v1.1 2020.06.12 다원ERP -> Project.다원ERP로 변경



컨셉

원격 키보드 & 마우스



어쩌다보니 [원격 마우스], [원격 키보드], [원격 키보드 & 마우스] 한꺼번에 올리게 되었는데,


컨셉이 비슷비슷하다보니... 어쩔수 없었네요 ㅠㅠ


이번엔 원격 키보드 & 마우스 입니다.


셋 다 안드로이드 어플로만 생각 중이며, 이 원격 키보드&마우스가 좀 더 종합적인 느낌을 받을수밖에 없겠네요.


[이미지 출처 - 본인 직접 제작]


앞선 원격 키보드와 원격 마우스를 합쳐놓은 형식이고, 한 화면에 두개의 오브젝트를 합쳐놓는다는게 생각처럼 쉽지는 않아서 (디자인, 레이아웃, UI & UX (특히 UX)) 여러 고민을 하고 있습니다.


나름 공부하면서 재미있는 어플이 완성되었으면 좋겠습니다.


감사합니다.


다음에는 원격 키보드 & 마우스 분석에서 뵙겠습니다! 



컨셉

원격 키보드



이번에는 원격 키보드 컨셉을 열심히 그려 왔습니다. (아.. 복붙은 위대한 발명.....)


말 그대로 원격으로 스마트폰을 이용하여 PC의 키보드를 이용한다는 느낌으로 제작할 예정입니다.

(물론 이미 나와있는 어플들이 있지만, 개인적 공부로, 재미로, 취미로 제작할 예정입니다.)


[이미지 출처 - 본인 직접 제작]


키보드의 경우에는 키 배열을 조금씩 다르게 해서 핸드폰으로 키보드 사용함에 있어 어렵지 않게 할 예정입니다.


사용자 위주로 생각한 키 배열을 따로 생각하는 중입니다. (꽤나 어렵네요)



기본적으로 마우스, 키보드 등 모든 원격 어플들은 소켓통신을 기반으로 생각하고 있습니다.


다음은 원격 키보드 설계에서 뵙겠습니다.



컨셉

원격 마우스



오늘은 원격 마우스 컨셉을 열심히 그려서 가져왔습니다.


원격 마우스라는 말처럼 안드로이드폰을 마우스처럼 활용할 수 있는 형식으로 제작할 예정입니다.


일단 아래의 컨셉 이미지를 보시죠.


[이미지 출처 - 본인 제작]

제가 생각하는 마우스는 3가지 형태의 사용방법을 가질 예정입니다.


1. 노트북 마우스패드 형식 (트랙패드 형식)

2. 조이스틱 형식

3. 자이로 센서를 활용한 형식



특히 1번같은 경우에는 윈도우 형식의 마우스패드와 맥북 형식의 트랙패드를 따로 만들어 이용자가 선택을 하여 사용할 수 있는 시스템을 도입할 예정입니다.


기본적인 컨셉이미지로 어떤 형식으로 만들지를 굳혀나가고 분석과 설계를 통해 개발할 예정입니다.


다음은 분석에서 뵙겠습니다.



설계 (1)



오늘은 저번에 말씀 드렸던 분석에 이어 설계로 넘어왔습니다.


왜 자꾸 (1)이 붙냐구요?


변경될 예정이거든요...


아무래도 밑바닥부터 잡고 배워서 만들어 가는 만큼 


완벽한 분석, 설계가 이뤄질 수 없다고 생각을 했습니다.


때문에 필요할때마다 고쳐가기 위한 (1), (2).... 입니다.



아래 그림은 제가 제작할 현재까지 설계된 다이어 그램입니다.


[제작 ERP 정보 참고 : 네이버 지식 백과]


저번 ERP 분석 그림에서 추가적으로 필요한 항목과 제거할 항목을 정리하였습니다.


- 추가항목


재무 관리 - 영수증 관리

시스템 관리*

고객 / 상품 관리 - A/S

고객 / 상품 관리 - Q&A

프로젝트관리*

기업 서비스 관리 - 자재 현황 관리

기업 서비스 관리 - 자재 구매 관리

기업 서비스 관리 - 메신저

인적 자원 관리 - 휴가 관리

인적 자원 관리 - 출장 관리


- 제거항목


기업 서비스 관리 - 여행

기업 서비스 관리 - 법률 서비스

기업 서비스 관리 - 인센티브


여기서 특이한 점은,


저는 프로젝트 관리라는 항목을 고려하고 있다는 점입니다.


분석(1)에서 작성하였듯이 회사에 있어 필요한 부분과 제거할 부분을 커스텀하였다고 생각하시면 될 것 같습니다.



쉽게 생각해서 git을 포함한 ERP라고 생각하셔도 될 것 같네요.


왜 git을 ERP에 넣었는지 궁금하신 분들도 계실겁니다.


그 이유는 제가 생각하기에는 프로젝트 산출물도 어떤 업계(IT: 소프트웨어 특히 개발직 관련)에 있어서는 판매가 될 물품이 된다고 생각을 해서였습니다.


그렇기에 판매할 산출물 또한 관리를 해줘야한다고 생각을 했네요. 어쩌면 개발직업계를 위한 ERP가 되지 않나 싶을 정도로 조금 편중되어 있지만, 제게 필요한건 해당 항목이었습니다.


물론 다른분들 생각은 어떨진 모르겠고, 앞으로 계속해서 바뀔 설계이다 보니 사라질수 있는 항목입니다.



또 추가로 기업 서비스 관리 항목에 '메신저'라는 메뉴가 보일겁니다.


사내 메신저를 ERP와 통합 관리하면 어떨까 싶어 넣어본 부분이지요.


추후에 메신저 프로그램을 따로 만들어 ERP에 접속하지 않아도 여느 메신저 프로그램 처럼 사용할 수 있게 해도 편리하겠다는 생각이 들었습니다.


예로 웹페이지에서 페이스 북 같은 곳에서 채팅을 하다가도 따로 접속이 가능한 프로그램(app)을 이용하여 채팅을 하는것도 괜찮지 않을까 싶었습니다. (물론 저의 개인적인 생각이지만요.)


해당 파트 또한 개발 도중 사라질 수 있는 메뉴입니다.




한가지 고민했던 점은 프로젝트관리를 제조관리에 합치는건 어떤가 였습니다.


물론 항목명은 제조관리이고, 그 아래 프로젝트관리라는 메뉴가 자리잡고 있는것도 생각했습니다.


하지만 프로젝트관리를 항목으로 따로 빼둔 이유는


가장 큰 이유중 하나는 관리할 메뉴가 많겠다는 점이었고,


또 다른 이유는 제조관리와는 조금 다른 이슈로 자리잡았으면 했다는 점이겠네요.



아직까진 설계에 대해서 두루뭉실한 부분이 많이 보입니다.


아쉽지만 저 또한 배워가는 입장이기 때문에 많이 부족할 수 밖에 없는게 현실이구요. (ㅠㅠ)


부족한 부분이 많은 만큼 상냥한(?) 댓글을 부탁드립니다!


그래도 최대한 사용할 수 있는 ERP를 제작하는것을 목표로 두고 열심히 개발하도록 해야겠습니다.



다음에는 오픈되어있는 ERP를 몇개 조사해서 글을 작성해보려 합니다.


조금은 제게 있어 좋은 공부가 되었으면 좋겠네요.



감사합니다.




참조 : https://terms.naver.com/entry.nhn?docId=2274731&cid=42171&categoryId=51120


버전정보

 - v1.0 2018.09.10 배포

 - v1.1 2020.06.12 다원ERP -> Project.다원ERP로 변경

+ Recent posts