CleanFrame
삼성 The Frame용 개인 홈 화면, 포크와 맞춤을 위한 시작점
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
내 글·그림·캐릭터를 올려두고 지인들과 함께 노는 개인 홈페이지. 데이터베이스는 직접 만든 무료 계정(Supabase 또는 Firebase)을 씁니다 — 서버 비용 없이 내 데이터는 내 계정에. 1. 이 저장소를 내 계정으로 가져오기 — 오른쪽 위 [Fork] GitHub 계정이 없다면 먼저 만듭니다 — github.com/signup, 무료이고 1분이면 됩니다. 코드를 보관하는 곳이라 홈을 운영하는 내내 쓰게 됩니다. 계정이 준비되면 이 페이지 오른쪽 위의 [Fork] → [Create fork] 를 누릅니다. 내 계정에 똑같은 저장소가 생기고, 여기서부터는 내 저장소에서 진행합니다. 포크로 가져오면 나중에 새 버전을 버튼 두 번으로 받을 수 있습니다. 아래 「새 버전 받기」 참고. Vercel은 홈을 인터넷에 띄워 주는 곳입니다. 처음이면 계정부터 만들어야 하는데, 방금 만든 GitHub 계정으로 그냥 시작할 수 있습니다. vercel.com/signup 에 접속해 [Continue with GitHub] 를 누릅니다.README 전문 보기 ↗
내 글·그림·캐릭터를 올려두고 지인들과 함께 노는 개인 홈페이지. 데이터베이스는 직접 만든 무료 계정(Supabase 또는 Firebase)을 씁니다 — 서버 비용 없이 내 데이터는 내 계정에.
GitHub 계정이 없다면 먼저 만듭니다 — github.com/signup, 무료이고 1분이면 됩니다. 코드를 보관하는 곳이라 홈을 운영하는 내내 쓰게 됩니다.
계정이 준비되면 이 페이지 오른쪽 위의 [Fork] → [Create fork] 를 누릅니다. 내 계정에 똑같은 저장소가 생기고, 여기서부터는 내 저장소에서 진행합니다.
포크로 가져오면 나중에 새 버전을 버튼 두 번으로 받을 수 있습니다. 아래 「새 버전 받기」 참고.
Vercel은 홈을 인터넷에 띄워 주는 곳입니다. 처음이면 계정부터 만들어야 하는데, 방금 만든 GitHub 계정으로 그냥 시작할 수 있습니다.
① Vercel 시작하기
vercel.com/signup 에 접속해 [Continue with GitHub] 를 누릅니다.
② GitHub 저장소 연결하기
로그인하면 Import Git Repository 화면이 나옵니다. 여기가 처음 쓰는 분들이 막히는 곳입니다.
O.home 하나만 골라도 됩니다③ 배포하기
https://내프로젝트.vercel.app 주소를 눌러 들어갑니다명령어를 칠 일도, 환경변수를 넣을 일도 없습니다.
④ 서버 위치를 서울로 — 꼭 해 주세요 (한국에서 쓴다면)
Vercel은 기본값이 미국 동부라, 그냥 두면 페이지를 열 때마다 태평양을 왕복합니다. 자동으로는 안 바뀌니 직접 눌러 주셔야 합니다.
Seoul (icn1) → [Save]30초면 끝나고 체감이 확실히 달라집니다. 잘 됐는지는 홈에서 F12 → Network → 맨 위 요청 → Response Headers 의 x-vercel-id가 icn1::… 로 시작하면 성공입니다.
그 주소로 들어가면 설치 화면이 뜹니다.
끝입니다. 이제 방문자에게도 내 홈이 보입니다.
버튼 하나로 저장소 복사와 배포가 한 번에 끝납니다. 다만 이렇게 만들어진 저장소는 원본과 연결이 끊긴 복사본이라 [Sync fork]로 업데이트를 받을 수 없습니다. 새 버전을 계속 받고 싶다면 위의 포크 방식을 쓰세요.
아래 주소를 그대로 보내 줘도 버튼과 똑같이 동작합니다.
https://vercel.com/new/clone?repository-url=https://github.com/w00j00working/O.home
npm install
npm run build # 확인용
npx vercel # 안내에 따라 로그인 → 배포 (GitHub 없이도 됩니다)
GitHub를 쓰고 싶다면 저장소를 만들고 올린 뒤 Vercel에서 Import 해도 같습니다.
npm install
npm run dev # http://localhost:3000
데이터베이스를 연결하지 않으면 이 브라우저 안에만 저장됩니다(혼자 보는 용도).
npm run pack # dist/ohome-<버전>-<날짜>.zip
node_modules·.next·.git과 연결 정보 파일·.env는 자동으로 빠집니다.
public/ohome.config.json은 절대 올리지 말 것 — 내 데이터베이스 연결 정보라, 올라가면 설치한 사람 전부가 내 DB에 붙습니다. .gitignore에 걸어 뒀지만 강제로 추가하지 않도록 주의하세요포크로 설치했다면 버튼 두 번입니다.
글·이미지·테마·회원·메인 배치는 전부 내 데이터베이스에 있으므로 그대로입니다. 코드만 새것으로 바뀝니다. 홈 주소도 그대로라 방문자에게 다시 알릴 필요가 없습니다.
내 저장소의 파일을 직접 고친 적이 없다면 충돌도 나지 않습니다. (설치할 때 올린 연결 정보 파일 public/ohome.config.json은 원본 저장소에 없는 파일이라 건드려지지 않습니다.)
업데이트는 내가 누를 때만 일어납니다. 원본이 바뀌었다고 내 홈이 저절로 바뀌지는 않습니다.
↓ 데이터만 / ↓ 회원까지 (이미지까지 zip 하나)설치·운영을 더 자세히: 설치 가이드
src/
app/ 페이지 (Next.js App Router · 전부 클라이언트 렌더)
components/ui/ 자체 UI 킷 — 기본 브라우저 컨트롤은 쓰지 않음
lib/
backend/ 저장소 어댑터: supabaseBackend · firebaseBackend
postStore.ts 목록 저장 훅 (서버면 DB, 아니면 브라우저)
settingStore.ts 사이트 설정 (테마·메뉴·폰트…) 저장 계층
transfer.ts 백업·복원·DB 이전 공용 엔진
serverConfig.ts 런타임 연결 설정 (config 파일 → 로컬 → env)
supabase/schema.sql Supabase 스키마·권한
firebase/*.rules Firestore·Storage 보안 규칙
components/ui 킷 사용