가계도 그리기 웹앱 v2.0

반응형

기존의 가계도 그리기 웹앱에서 저장 기능을 추가하였습니다.

- 본인이 그린 가계도의 목록을 선택해 불러올 수 있습니다.

- 마찬가지로 삭제도 가능합니다.

- 특정 인물을 클릭하고 그것만 삭제하는 것도 가능합니다.

 

그리고 보다 다양한 가족관계를 구현 가능하게 만들었습니다.

- 이혼, 별거 등 결혼관계 추가

- 입양자녀 표기 추가

- 반려동물 입력 추가

 

또한 이미지로 저장하는 방식도 다양화했습니다.

- JPG 저장: 배경이 흰색 이미지로 저장됩니다.

- PNG 저장: 배경이 투명한 이미지로 저장됩니다.

 

다만, 아직 쌍둥이는 제대로 구현하지 못하고 있습니다.

추후 개발 목표로 삼아야 할 것 같습니다.

 

이번에도 Google AI Studio를 활용해 만들었습니다.

아래 링크에서 확인해보세요.

 

https://script.google.com/macros/s/AKfycbwwCF4qZwWgtRneJAQ21mW1lnMRbVCl0SxfygGcBnT6A9GUR_DFIRzt_Xol1uJ6FWU/exec

 

로그인 - Google 계정

이메일 또는 휴대전화

accounts.google.com

 

단, 처음 사용시에는 권한설정을 해주셔야만 합니다.

2025.06.18 - [[楞嚴] 생각 나누기/[情] 사회복지정보화] - 생태도 그리기 웹앱 v2.1

권한설정방법은 위 링크를 참조하세요.

 

 

 

한편 이런 앱 개발은 바이브 코딩이라는 방식을 통해서 만들고 있습니다.

 

활용한 프롬프트를 공유해드리니 개발 시도하실 분은 아래 프롬프트를 참고해서, 확장해나가시는 것도 방법이 되지 않을까 합니다.

 

https://docs.google.com/document/d/1ISf41EzknqR3eUwoUUxPVjJGgPvL8KuOhDmCKWU3pv4/edit?usp=sharing

 

가계도 웹앱 만들기 프롬프트

당신은 지금부터 구상 가능한 최고의 구글 Apps Script 웹앱 개발자입니다. 이번에 새로운 프로젝트로 구글 스프레드 시트, 구글 Apps Script, HTML/SVG를 조합하여 **"가계도 그리기 웹앱"**을 제작합니다

docs.google.com

 

반응형

생태도 그리기 웹앱 v2.2

반응형

최초 버전에서는 불가능했던 생태도 저장 문제를 해결했습니다.

그외 자잘한 편의가 추가되었구요~

 

이번엔 claude가 아니라 Google AI Studio를 활용했습니다.

https://aistudio.google.com/ 

주어지는 토큰이 훨씬 많아, 개발 오류를 해결하는데 훨씬 도움이 되었습니다.

 

주요변화라면,

1. 저장이 가능합니다. 따라서 불러오기도 됩니다.

    이 기능이 필요했던 건, Apps Script를 잘 모르시는 분들이 사본만들기 하시는 번거로운 과정을 생략할 수 있기 때문입니다.

    단, 구글 계정에 로그인해 있어야 합니다. 최소한의 장치입니다.

2. 이미 그린 생태도의 관계를 선택한 후 delete 키로 삭제가 가능합니다.

    처음부터 다시 그려야하는 번거로움이 줄었습니다.

3. 관계에 있어 갈등관계를 표현하는 선의 모양이 바뀌었습니다.

    화살표 모양의 처리도 조금 달라졌습니다. 사용하는 코드의 소스가 다릅니다.

4. 만들어진 생태도를 jpg로도 png로도 저장할 수 있습니다.

    jpg 이미지는 배경이 흰색입니다. 하지만 png는 배경이 투명입니다.

    용도에 따라 맞게 다운로드하시면 됩니다.

 

update. 2025. 6. 23.-----------------------------------------------------------------------

갈등관계를 나타내는 선을 물결모양에서 뽀족한 모양으로 변경했습니다.

--------------------------------------------------------------------------------------------------

https://script.google.com/macros/s/AKfycbz3MgR2ggZJoMK0UGnMM8eOogbhixguaUYn44Fy4_t2lf4TW-flzclh797Fw3BUha8/exec

 

 

참고로 처음 사용시, 사용자의 구글 계정 ID를 확인합니다.

권한 허용을 해주셔야만 사용하실 수 있습니다.

 

 

혹시나 따라하실 분을 위해 프롬프트도 제공해드립니다.

https://docs.google.com/document/d/1TMp371bQ7G6ZAPuz6ookG8_S7dO5SafINV19tTRpr2w/edit?usp=sharing

 

생태도 웹앱 만들기 프롬프트

당신은 지금부터 지상 최고의 구글 Apps Sciprt 웹앱 개발자입니다. 이번에 새로운 프로젝트로 구글 스프레드 시트, 구글 Apps Script, html/canvas 또는 SVG 조합으로 "생태도 그리기 웹앱"을 만드려합니다

docs.google.com

 

반응형

생태도 그리기 웹앱 v1.1

반응형

생태도 그리기 웹앱

 

 

https://script.google.com/macros/s/AKfycbw2qqyDIpjIaOHN2qBusKLnbh3McbFXQkvcf_ibxkrPYXx8Lag8zswUV6XF1kLfjPs/exec

 

 

https://script.google.com/macros/s/AKfycbxaq0DbFskQ4bVNsF5bbqeLiSROL0yszlm86fz4QCtMf7xMrMR8t21joMPDxbdTahE/exec

 

script.google.com

클릭하시면 바로 실행해 보실 수 있습니다.

 

소스 코드를 보시려면 아래 링크를 클릭하세요.

https://script.google.com/d/1vsM92mjCaiN5L-LEbsx13e7BNtVde7shYpnZ9Jq2UVK9UcvFhy-fBj6E/edit?usp=sharing

 

Google Drive: 로그인

이메일 또는 휴대전화

accounts.google.com

 

가계도와 마찬가지로 Claude.ai를 기본으로 했습니다.

이때 사용된 프롬프트는 다음과 같습니다.

당신은 지금부터 지상 최고의 구글 Apps Sciprt 웹 앱 개발자입니다.
이번에 새로운 프로젝트로 구글 스프레드 시트, 구글 Apps Script, html/canvas 또는 SVC 조합으로 "생태도 그리기 웹앱"을 만드려합니다. 
앱 주요 기능과 사용자 흐름은 다음과 같습니다.
== [앱 주요 기능] 시작 ==
1. 사용자가 웹에서 생태도를 그리는 웹 앱을 만들고 싶습니다.
2. 사용자는 중심인물과 주변인물, 그리고 중심인물과 주변인물의 관계를 웹에서 입력하면, 앱스 스크립트를 통해 생태도로 전환해 보여줍니다.
3. 만들어진 생태도는 이미지로 저장할 수 있습니다.
== [앱 주요 기능] 끝 ==

== [사용자 흐름] 시작 ==
1. 웹에서 생태도를 그릴 중심인물의 데이터를 입력합니다.
2. 중심인물을 중심으로 주변인물 또는 조직의 의 관계를 입력합니다.
- 이름
- 관계: 좋은 관계, 소원한 관계, 갈등 관계
- 방향: 중심인물을 중심으로 화살표가 밖으로 향하는지, 안으로 향하는지, 양방향인지
3. 생태도 자동 그리기: 시트 데이터를 기반으로 canvas에서 자동 배치
4. 클릭 조정: 만들어진 도형은 마우스 드래그로 위치 조정
5. 실행 취소를 통해 이전단계로 돌아가는 기능
6. 이미지 저장: 캔버스를 png로 다운로드
7. 데이터 삭제: 저장된 데이터를 삭제해서 생태도를 초기화(빈 캔버스)
== [사용자 흐름] 끝 ==

== [백엔드 구성] 시작 ===
1. 필드 구조 : 이름, 관계, 방향, 비고
== [백엔드 구성] 끝 ===

== [화면 인터페이스 구성] 시작 ==
화면은 두 개의 영역으로 구분됩니다.
1. 1영역은 생태도를 그리고자 하는 사람의 정보를 입력하는 영역
먼저 중심인물을 입력합니다.
이후 주변인물의 정보를 입력합니다.
이때 중심인물과의 관계를 선택 입력합니다.
관계는 좋은 관계, 소원한 관계, 갈등 관계을 선택할 수 있습니다.

2. 2영역은 입력된 정보가 구현되어 보여지는 영역입니다.
- 중심인물과 주변인물은 원(<circle>)으로 구현합니다. 이때 도형 안의 색깔은 흰색으로 합니다.
- 입력된 중심인물과 주변인물의 관계를 선으로 연결: 좋은 관계는 실선, 소원한 관계는 점선, 갈등 관계는 지그재그 선으로 표현
- 완성된 도형은 마우스로 클릭하고 드래그 해서 수평, 수직 이동이 가능해야합니다. 이때 이미지나 선 모양의 변형은 없어야 합니다.
- 실행 취소를 통해 마지막에 입력한 인물을 지울 수 있어야 합니다.
- 생태도가 구현이 되면, 이를 이미지로 저장(다운로드)할 수 있는 버튼이 있습니다.
== [화면 인터페이스 구성] 끝 ==

== [추가 요청] 시작 ==
- 모든 개발은 구글 Apps Script + HTML/CSS/JS 로 진행합니다.
- Code.gs, index.html, styles.html, script.html 각각의 역할별로 코드를 만들어주세요.
- 만드는 코드의 길이가 지나치게 길어지지 않도록 최적화 해주세요.
- 최신 트렌드에 맞춰서 세련된 디자인으로 꾸며주세요.
== [추가 요청] 끝 ==
반응형

가계도 그리기 웹앱 v1.1

반응형

AI를 활용해서 가계도를 그리는 웹앱을 개발해보았습니다.

이를 위해 구글 스프레드 시트, 구글 Apps Script가 활용되었습니다.

 

실행은 아래 링크를 통해 바로 테스트해보실 수 있습니다.

 

https://script.google.com/macros/s/AKfycbwfQb2KurCoYtD_xJNaVkuQrN9nKoDGE8b-5KBsoSrAmXG2IMWjVT4V6H1M5CnjjLw/exec

 

 

단, 개인사용자를 위해 만들었기 때문에 사본만들기를 통해 개인계정에 등록하고 사용해주시면 감사하겠습니다.

사본은 아래 구글 스프레드 시트에서 사본만들기 하시면 됩니다.

 

https://docs.google.com/spreadsheets/d/1383VpKg63M2MaTRnm5VIP9_AJRWTqX7YBO1Av78sE8A/edit?gid=0#gid=0

 

이후 스프레드 시트 ID를 사용해 Code.gs를 본인의 것으로 수정해주시면 됩니다.

Code.gs
0.01MB
index.html
0.01MB
script.html
0.03MB
styles.html
0.01MB

 

반응형

PDF에 비밀번호 설정하기

반응형

PDF_Encryptor.exe
4.14MB

 

급한 분을 위해 파일을 먼저 올려두었습니다.

하지만 아래도 한번 읽어봐주세요.

 

 

개인정보보호법 등이 강화되면서 PDF 파일을 보내려할 때에도 비밀번호를 설정해야하는 경우가 있습니다.

하지만 유료 프로그램을 사용해야하는 등 쉽지가 않습니다.

특정 웹사이트를 이용하면 비밀번호를 걸어주기도 하지만, 그 경우 서버로 파일을 일단 업로드 해야하기 때문에 해당 파일이 유출되지 않을 것이라는 보장은 없습니다.

 

그래서 찾아보았습니다.

Github에 보면 qpdf라는 프로그램이 있습니다.

https://github.com/qpdf/qpdf

 

GitHub - qpdf/qpdf: qpdf: A content-preserving PDF document transformer

qpdf: A content-preserving PDF document transformer - qpdf/qpdf

github.com

 

다양한 기능을 가진 프로그램이지만, 사용법이 쉬워보이진 않습니다.

그래도 설명해보자면, 파일들을 다운받은 다음 bin 폴더에 있는 qpdf.exe 파일을 cmd 창에서 실행합니다.

qpdf.exe --encrypt %userPwd% %userPwd% 256 -- "%inputFile%" "encrypted_%inputFile%"

 

이걸 bat 파일로 만들면 조금더 쉽긴 합니다.

 

PDF_Encryptor.bat

@echo off
title PDF 암호화 도구 (QPDF)
echo ==============================
echo PDF 파일에 비밀번호를 설정합니다.
echo set a password on your PDF
echo ==============================
echo.

set /p inputFile="비밀번호를 설정할 PDF 파일명을 입력하세요 (예: sample.pdf): "
set /p userPwd="설정할 비밀번호를 입력하세요: "

:: 암호화 실행 - 소유자 비밀번호는 사용자 비밀번호와 동일하게 설정
qpdf.exe --encrypt %userPwd% %userPwd% 256 -- "%inputFile%" "encrypted_%inputFile%"

echo.
echo ■ 암호화 완료! 결과 파일: encrypted_%inputFile%
echo -----------------------------------------------------------------------------------------
echo This software includes QPDF, which is licensed under the Apache License 2.0.
echo See https://github.com/qpdf/qpdf for more information.
pause

 

조금더 검색해 봅니다.

그랬더니 bat 파일을 기반으로 exe, dll 등을 묶어서 하나의 실행파일로 만들어주는 프로그램을 Github에서 찾을 수 있습니다.

https://github.com/l-urk/Bat-To-Exe-Converter-64-Bit/releases

 

Releases · l-urk/Bat-To-Exe-Converter-64-Bit

Bat To Exe Converter (64 Bit) - Developer Fatih Kodak - l-urk/Bat-To-Exe-Converter-64-Bit

github.com

 

이제 이걸 이용해서 하나의 파일로 묶어봅니다.

 

PDF_Encryptor.exe
4.14MB
README.txt
0.00MB

 

예의상 README.txt도 만들어 봅니다.

 

이제 PDF_Encryptor.exe 파일 하나만 있으면 PDF에 비밀번호를 설정할 수 있습니다.

단, 이 실행파일과 PDF 파일이 같은 폴더에 있어야 합니다.

그리고 PDF 파일 명은 직접 입력해주셔야 합니다.

 

기왕 만들었으니 배포해봅니다. 저작권에도 문제는 없다고 합니다.

그럼...

반응형