Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Agentic AI travel planning powered by Atlas, a travel intelligence agent running entirely on Google Gemini, with real-time collaboration via Socket.io.
• Node.js 20+
• MongoDB (local) or MongoDB Atlas free tier
• Gemini API key — an AI-Studio-issued key (format AQ.xxx), not a plain Cloud-Console key; only AI-Studio keys actually work against the Gemini Developer API
• Google API key (Places, Maps, Cloud Translation)
See server/config.ts for the complete, authoritative list (SMTP, admin/feedback-routine secrets, rate-limit tuning, etc.README 전문 보기 ↗Agentic AI travel planning powered by Atlas, a travel intelligence agent running entirely on Google Gemini, with real-time collaboration via Socket.io.
AQ.xxx), not a plain Cloud-Console key; only AI-Studio keys actually work against the Gemini Developer API# 1. Clone
git clone <repo> && cd tripmate
# 2. Install dependencies
npm install
# 3. Configure environment
cp .env.example .env
# Edit .env and fill in your API keys
# 4. Seed database with test data
npm run db:seed
# 5. Start development servers
npm run dev
# Frontend: http://localhost:3000
# Backend: http://localhost:5000
| Variable | Required | Description |
|---|---|---|
MONGODB_URI | ✅ | MongoDB connection string (not DATABASE_URL) |
SESSION_SECRET | ✅ | Random string for session signing |
JWT_SECRET | ✅ | Random string for JWT signing |
GEMINI_API_KEY | ✅ | AI-Studio-issued key — powers Atlas chat, the trip-planning multi-agent pipeline, and every AI utility (weather/travel-hacks/journal/translation). Every other LLM provider this app tried (OpenAI, NVIDIA, Groq, OpenRouter) has been removed. |
GOOGLE_API_KEY | Recommended | Places search, Maps, Cloud Translation — a plain Cloud Console key works for this (unlike GEMINI_API_KEY) |
NODE_ENV | ✅ | development, production, or test |
VITE_API_URL | Dev only | Frontend API base: http://localhost:5000 |
See server/config.ts for the complete, authoritative list (SMTP, admin/feedback-routine secrets, rate-limit tuning, etc.) — this table covers what you need for local dev, not every optional var.
| Script | Description |
|---|---|
npm run dev | Start both frontend and backend (backend serves the built client; use dev:standalone for separate hot-reloading dev servers) |
npm run dev:standalone | Frontend (port 3000) and backend (port 5000) as separate hot-reloading processes |
npm run build | Production build (Vite client + esbuild server bundle) |
npm run typecheck | TypeScript check, no emit |
npm run lint | ESLint check |
npm test | Run the full Vitest suite |
npm run test:unit | Backend/frontend/agent/SSE unit tests only |
npm run test:integration | Integration tests only |
npm run test:coverage | Tests with coverage report |
npm run db:seed | Seed database with test data |
npm run db:clear | Destructive — wipes the entire database. Never run against a shared/production MONGODB_URI. |
npm run atlas:golden-eval | Runs real end-to-end checks against Atlas against a live BASE_URL (defaults to localhost) — hits real LLM/network providers, not mocked |
Browser (React + Vite :3000)
│
│ HTTP / SSE / Socket.io
▼
Express API (Node.js :5000)
│── requireAuth (JWT, cookie-based, revocable via Session model)
│── Validate Middleware (Zod)
│── Rate Limit Middleware (per-route: auth/AI/generation/places-photo limiters)
│── Helmet, CSRF, mongo-sanitize, hpp
│
│── Agent Router ──────► Atlas Agent Loop
│ │── Two Gemini model slots (circuit breaker +
│ │ per-slot token-budget admission)
│ │── Tool Executor (~19 tools, CONFIRM_REQUIRED gate on
│ │ destructive ones — manage_expense removal, manage_collaborator)
│ │── weatherHandler, currencyHandler, translateHandler
│ │── placesHandler, emergencyHandler
│ │── packingHandler, budgetHandler, journalToolHandler
│ │── modifyItineraryHandler, expenseToolHandler
│ └── collaboratorToolHandler, tripPlannerHandler
│
│── MasterOrchestrator (server/agent/multiAgent/) — separate pipeline from Atlas chat,
│ runs SuggestionAgent/HeroImageAgent/ItineraryAgent/BudgetAgent/MapAgent/
│ PackingAgent/JournalAgent, tracked via AgentJob records
│
│── Trip / Itinerary / Expense / Packing / Journal / Collaborator Routers
│── Socket.io (SocketService) — trip rooms (auth-checked on join), presence, live mutations
│
▼
MongoDB (Mongoose) — shared/schema.ts is the single source of truth for models
docs/API.md — Full REST API referencedocs/AGENT_PROMPTS.md — Atlas prompt system referencedocs/ARCHITECTURE.md — Full system architectureDESIGN.md — Design system (Night Atlas / Passport & Visa Stamp)