Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Yangtze-Seventh/taste-verse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ๅ‘ณ่ฟน TasteVerse

Your Personal Tasting Universe โ€” Record, visualize, and explore your tasting journey through an immersive 3D star map.

ๅ‘ณๆœ‰ๅฝ’ๅค„๏ผŒๅฟƒๆœ‰ๆ‰€่ฎฐ โ€” Taste has a home, memory has a record.

gifๅ›พ

Overview

TasteVerse is a personal tasting journal that transforms your flavor experiences into an interactive 3D universe. Every coffee, tea, wine, meal, or dessert you taste becomes a glowing star in your personal cosmos. Shared flavors form constellation-like links, revealing hidden connections across your palate.

Built with React and Three.js, TasteVerse combines rich data entry with a visually stunning WebGL-powered exploration interface, an AI-powered sommelier chat assistant, and optional cloud synchronization.

Features

๐ŸŒŒ 3D Universe Visualization

The flagship feature โ€” a force-directed 3D star map where each tasting record is a node.

  • Nodes are glowing spheres sized by score and visit count, with orbiting rings and comet particles
  • Links connect related tastings: same-category, shared tags, and taxonomy relationships
  • Environment includes 7,000+ stars, nebula clouds, dust particles, and dramatic multi-color lighting
  • Interactive orbit camera with click-to-focus, search filtering, and category isolation
ๆ˜Ÿไบ‘

๐Ÿ“ Tasting Records

Comprehensive data capture for every tasting experience:

  • Product name with fuzzy duplicate detection
  • 0โ€“10 scoring system
  • Flavor tags (freeform, enter-to-add)
  • Tasting notes
  • Price tracking (unit price or per-person average)
  • Location / venue
  • Photo upload
  • Visit tracking โ€” re-taste the same product over time, building a longitudinal flavor profile
่ฎฐๅฝ•ๆ–ฐๅ“้‰ด

๐Ÿ—‚๏ธ Category Management

Organize tastings with a flexible two-level taxonomy:

  • 5 default categories: Coffee โ˜•, Tea ๐Ÿต, Wine ๐Ÿท, Chinese Food ๐Ÿฅข, Dessert ๐Ÿฐ
  • Create custom categories with your own icon, name, color, and parent group
  • Grid view with per-category statistics (average score, record count, popularity)
  • Click any category to see all its records or isolate it in the 3D graph
่ฎฐๅฝ•ๆ–ฐๅ“้‰ด

๐Ÿ“… Calendar View

Browse your tasting history by date:

  • Monthly calendar with colored dots marking tasting days
  • Day detail panel showing all records for the selected date
  • Mini 3D cluster visualization per day
  • Tag clouds and taste profiles for each day
ๆ—ฅๅކ

๐Ÿค– AI Sommelier

An embedded AI chat assistant for intelligent tasting analysis:

  • Natural-language chat for flavor queries and recommendations
  • Image upload for product photo analysis
  • Semantic memory search (powered by EverOS) for recalling relevant past tastings
  • Distinctive Mรถbius ring 3D visualization with animated category ribbons
aiๅ“้‰ดๅธˆ

๐Ÿ” Search & Discovery

  • Graph Search: Real-time keyword search across names, tags, and notes โ€” matching nodes highlight in the 3D graph
  • Semantic Search: When connected to EverOS, hybrid keyword + vector search finds conceptually related tastings
  • Category Filtering: Click any legend item to isolate a category cluster

โ˜๏ธ Cloud Sync (Optional)

  • Automatic sync to EverOS (Evermind AI) on record creation
  • Full sync on app load when online
  • Status indicator in navbar (green = online, gray = offline)
  • Fully offline-capable โ€” all core features work without cloud connectivity

Tech Stack

Layer Technology Purpose
Frontend React 18.3 UI rendering
Build Vite 5.4 Dev server & bundling
3D Engine Three.js 0.184 WebGL rendering
Graph 3d-force-graph 1.73 Force-directed layout
Email EmailJS 4 Verification code delivery
Backend Vercel Serverless API proxy for EverOS
Cloud EverOS (Evermind AI) Sync & semantic search
Storage localStorage Client-side persistence
Fonts Inter, Space Grotesk, Noto Sans SC Typography (Latin + CJK)

Getting Started

Prerequisites

  • Node.js 18+
  • npm 9+

Local Development

git clone https://github.com/your-username/taste-verse.git
cd taste-verse
npm install
npm run dev     # http://localhost:5173

Note: The /api/everos endpoint is a Vercel Serverless Function and will not run with npm run dev. To enable cloud sync locally, use vercel dev instead:

npm i -g vercel
vercel dev

Production Build

npm run build   # outputs to /dist
npm run preview # preview the production build

Deployment (Vercel)

  1. Import this repository into Vercel. The framework will be auto-detected as Vite.

  2. Set the following environment variables:

    Variable Description Example
    EVEROS_UPSTREAM EverOS API base URL https://api.evermind.ai/api/v1
    EVEROS_API_KEY API key from EverOS (required for cloud sync) ek_...
  3. After configuring environment variables, go to Deployments โ†’ Latest โ†’ Redeploy to apply them.

Project Structure

taste-verse/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ App.jsx                    # Root component โ€” login screen, nav, view routing
โ”‚   โ”œโ”€โ”€ main.jsx                   # React 18 entry point
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ”œโ”€โ”€ bootstrap.js           # Exposes Three.js & ForceGraph3D to window
โ”‚   โ”‚   โ””โ”€โ”€ tasteverse.js          # Core engine: 3D graph, auth, CRUD, storage, EverOS sync
โ”‚   โ”œโ”€โ”€ sommelier/
โ”‚   โ”‚   โ”œโ”€โ”€ AISommelier.jsx        # AI Sommelier panel component
โ”‚   โ”‚   โ”œโ”€โ”€ sommelier-engine.js    # Chat engine, recommendations, Mรถbius visualization
โ”‚   โ”‚   โ””โ”€โ”€ sommelier.css          # Sommelier panel styles
โ”‚   โ””โ”€โ”€ styles/
โ”‚       โ””โ”€โ”€ global.css             # Global styles (dark space theme)
โ”œโ”€โ”€ api/
โ”‚   โ””โ”€โ”€ everos/
โ”‚       โ””โ”€โ”€ [...path].js           # Vercel serverless proxy for EverOS API (CORS)
โ”œโ”€โ”€ public/                        # Static assets
โ”œโ”€โ”€ index.html                     # SPA entry point
โ”œโ”€โ”€ vite.config.js                 # Vite config with Three.js chunk optimization
โ”œโ”€โ”€ vercel.json                    # Vercel rewrites & serverless config
โ””โ”€โ”€ package.json

Data Storage

TasteVerse is offline-first. All data is stored in the browser's localStorage with per-user namespacing:

Key Content
tv_session Current user session
tv_{email}_notes All tasting records
tv_{email}_taxonomy Category hierarchy
tv_{email}_categories Category metadata
tv_{email}_profile User profile (nickname, avatar, bio)

When EverOS is connected, records are additionally synced to the cloud for backup and semantic search.

Authentication

TasteVerse uses a passwordless email verification flow:

  1. Enter your email address
  2. Receive a 6-digit verification code via EmailJS
  3. Enter the code to log in
  4. Session persists in localStorage for automatic re-login

Browser Requirements

  • WebGL support (required for Three.js 3D rendering)
  • Modern browser with ES6+ support (Chrome, Firefox, Safari, Edge)
  • localStorage API

License

See LICENSE for details.


Built with โค๏ธ and a passion for flavor.

About

my own version of taste verse

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors