尚未检测到更新。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