尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗서울 구로 주변에 사는, 차가 있는 가족과 커플을 위한 숨은 맛집 커뮤니티 웹사이트입니다. 광고 없이 이웃이 직접 다녀온 "주말에 차 타고 가볼 만한 곳"을 사진·주소·지도와 함께 올리고 둘러봅니다.
윈도우 95 느낌의 레트로 UI(입체 테두리, 창 제목 표시줄, 디더링 이미지)를 콘셉트로 했습니다.
교육 과정 과제로 만든 프로젝트입니다. Pencil로 만든 디자인 시스템과 하이파이 시안을 Storybook과 Next.js로 옮기는(핸드오프) 과정을 다룹니다.
| 페이지 | 경로 | 시안 상태 확인 |
|---|---|---|
| 메인 | / | /?q=칼국수 (검색) |
| 상세 | /restaurants/[id] | 위치가 있으면 미니 지도 · 지도 칸에 실제 지도 |
| 등록 | /restaurants/new | ?preview=error (입력 오류) |
| 장소 등록 | 등록 화면 위 전체 화면 (장소 입력하기) | /restaurants/new?preview=place-results (검색 결과) · place-empty (결과 없음 · 직접 입력) · place-location (위치 지정) |
| 로그인 | /login | ?error=cancelled (로그인 실패) |
| 마이 | /me | ?empty=1 (쓴 글 없음) |
@storybook/nextjs-vite)npm install
# 웹사이트 (http://localhost:3000)
npm run dev
# Storybook (http://localhost:6006)
npm run storybook
# 프로덕션 빌드
npm run build && npm start
app/ 페이지 (메인, 상세, 등록, 로그인, 마이)
components/ 디자인 시스템 UI 컴포넌트
stories/
foundation/ 토큰 · 컬러 · 타이포그래피 · 아이코노그래피 문서
components/ 컴포넌트 스토리 (Action, Form, Navigation, Feedback, Etc)
styles/ 토큰(tokens.css) · 타이포그래피 · 이펙트
lib/ 목업 데이터, 유틸
public/images/ Pencil에서 내보낸 디더링 이미지
Storybook을 디자인의 기준(SSOT)으로 둡니다. 자세한 규칙은 CLAUDE.md에 있습니다.
components/의 컴포넌트를 조합해 만듭니다.장소 입력하기 → 장소 화면(검색창 · 지도 · 지번 주소) → 검색창을 누르면 검색 화면 → 결과를 고르면 장소 화면으로 돌아와 검색어는 검색창에, 지번 주소는 주소 칸에 넣고 지도 가운데를 고른 장소로 옮깁니다. 결과가 없으면 장소명을 직접 입력하고, 돌아오면 지번 주소·좌표는 기본값(등록 대기중 · 서울시청)에서 시작합니다.naverapihub.apigw.ntruss.com/search/v1/local)을 BFF(GET /api/places/search?q=)로 부릅니다. 결과는 최대 5곳이고, mapx·mapy(WGS84 × 10^7)는 lng·lat으로 바꿔 씁니다.GET /api/map?lat=&lng=&w=&h=)로 받아 이미지로 보여 줍니다. 키가 없거나 불러오지 못하면 일러스트 지도로 대신합니다.이 위치로 등록하기를 누르면 핀 좌표가 저장됩니다.GET /api/places/address?lat=&lng=, 로그인 사용자만). 찾은 주소(도로명·지번)로 등록하고, 주소가 없는 곳이거나 찾지 못하면 검색한 주소로, 직접 입력한 장소는 주소 없이 등록합니다. 지도를 옮기지 않으면 검색한 주소를 그대로 씁니다. NCP 콘솔의 Maps Application에서 Reverse Geocoding을 켜야 합니다.NAVER_SEARCH_CLIENT_ID, NAVER_SEARCH_CLIENT_SECRET, NCP_MAP_KEY_ID, NCP_MAP_KEY)에 둡니다. 브라우저 SDK가 쓰는 지도 Client ID만 NEXT_PUBLIC_NCP_MAP_KEY_ID로 둡니다(공개 값, NCP 콘솔의 Web 서비스 URL 등록으로 제한). .env.example을 참고하세요.supabase/migrations/20261029000000_place_location.sql로 추가합니다.app/manifest.ts (이름 · 아이콘 · display: standalone · 배경색/테마색). 앱 이름과 색은 lib/pwa/config.ts에 모았습니다.beforeinstallprompt) 띄우고, 누르면 바로 설치 창을 엽니다. iOS는 설치 창 API가 없어 누르면 바텀시트로 홈 화면 추가 방법을 안내합니다. 홈 화면 앱으로 실행 중이면 띄우지 않고, 닫으면 7일 동안 다시 띄우지 않습니다. 설치 창은 HTTPS(배포 주소)에서만 열립니다.public/splash/, 기기 목록 lib/pwa/splash-screens.json)를 apple-touch-startup-image로 지정합니다.logo.png 한 장으로 만듭니다. 로고를 바꾸면 다시 만드세요(Python + Pillow 필요).python scripts/make-app-icons.py