Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗VietNomNom giúp bạn trả lời câu hỏi muôn thuở "hôm nay ăn gì, ăn ở đâu". Bạn chỉ cần gõ như đang nói chuyện, ví dụ "bún bò quận 3 dưới 50k" hay "nhóm 5 người, tối nay, lẩu 150k/người", và web sẽ gợi ý quán dựa trên đánh giá thật của thực khách, không phải quảng cáo.
🌐 Dùng thử: https://project-smart-food-recommendation-f.vercel.app
Hơn 5.500 quán ở Hà Nội, TP.HCM, Đà Nẵng và nhiều tỉnh khác, với hơn 26.000 review đã được AI đọc và tóm tắt.
Không cần chọn từng bộ lọc. Web tự hiểu món, khu vực, mức giá, buổi trong ngày và số người trong câu bạn gõ, kể cả khi gõ không dấu ("bun bo q3"). Có vị trí của bạn thì quán gần được ưu tiên trước.
Trợ lý trò chuyện nổi ở mọi trang, nhớ ngữ cảnh: hỏi tiếp "rẻ hơn đi" hay "còn quán nào khác" là trợ lý sửa lại kết quả cũ. Trợ lý hiểu "tối nay" là phải còn mở cửa lúc tối, "nhóm 5 người" thì nhắc gọi đặt bàn trước. Khi chỉ còn ít quán, trợ lý nói rõ đã lọc theo điều kiện nào. Khi chưa có dữ liệu, trợ lý nói thẳng là chưa có thay vì bịa.
Mỗi quán có phần tóm tắt món ăn, giá, phục vụ, không gian, vệ sinh, chỗ để xe: khía cạnh nào được khen, bị chê hay ý kiến còn chia đôi, kèm câu trích nguyên văn từ review. Bạn biết quán này "ngon nhưng chỗ để xe chật" chỉ trong vài giây.
Ngay trong trang quán, hỏi "giá ở đây thế nào?" hay "có chỗ đậu ô tô không?" và nhận câu trả lời dựa trên review thật. Có sẵn câu hỏi gợi ý để bấm, không cần nghĩ cách hỏi.
Điểm được hiệu chỉnh theo số lượt đánh giá, nên quán chỉ có vài review 10 điểm không vượt được quán đã giữ chất lượng qua hàng trăm lượt. Mọi nơi trên web (thẻ quán, trang chi tiết, trợ lý AI) hiện cùng một con số, và điểm gốc bên Foody vẫn được ghi rõ để đối chiếu.
Chụp hoặc tải ảnh món ăn lên, AI nhận ra món (phở, bún, bánh mì, gỏi cuốn, bột chiên) rồi gợi ý quán bán món đó. Ảnh chưa rõ thì AI gợi ý các món gần giống để bạn bấm chọn.
Trang chủ gợi ý quán đang mở cửa, hợp với bữa hiện tại (sáng, trưa, chiều, tối, khuya) và gần bạn. Còn phân vân thì bấm 🎲 "Hôm nay ăn gì?" để web bốc ngẫu nhiên một quán phù hợp. Mỗi quán hiện trạng thái thời gian thực: đang mở, sắp đóng cửa, hay mấy giờ mở lại.
Website (Next.js, Vercel) → API (NestJS, Render) → AI service (FastAPI, Hugging Face) → MongoDB Atlas
Toàn bộ AI (hiểu câu hỏi, xếp hạng, đọc review, nhận diện ảnh) dùng model mã nguồn mở chạy trong AI service. Chi tiết kỹ thuật nằm ở các repo:
Dữ liệu quán và review được thu thập từ Foody.vn cho mục đích học tập. Mỗi trang quán đều có link về nguồn gốc.
Công nghệ: Next.js 16 (App Router), React 19, TypeScript strict, Tailwind v4 cho phần chat, Leaflet + leaflet-routing-machine (OpenStreetMap / OSRM), axios.
cp .env.example .env.local # NEXT_PUBLIC_API_URL = địa chỉ Backend, NEXT_PUBLIC_SITE_URL = địa chỉ web
npm install
npm run dev # http://localhost:3000
npm run build && npx tsc --noEmit && npm run lint
Một vài quy ước trong code:
app/lib/api.ts là nơi duy nhất gọi Backend. Client tự refresh token khi gặp 401, và thay mọi điểm bằng điểm đã
hiệu chỉnh (điểm gốc giữ ở rawScores).app/lib/i18n.ts, đọc qua useTranslation().Math.random(), Date.now() hay localStorage trong lần render đầu,
nếu không sẽ gặp lỗi hydration #418.images.remotePatterns lẫn imageHosts của Content-Security-Policy trong
next.config.ts.Triển khai: xem DEPLOY.md.