{"id":30702964,"url":"https://github.com/weaviate/elysia-frontend","last_synced_at":"2026-03-04T10:03:52.904Z","repository":{"id":309722086,"uuid":"966146006","full_name":"weaviate/elysia-frontend","owner":"weaviate","description":"Frontend Repository for Elysia","archived":false,"fork":false,"pushed_at":"2026-02-03T15:08:24.000Z","size":17699,"stargazers_count":172,"open_issues_count":1,"forks_count":61,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-02-04T02:22:09.975Z","etag":null,"topics":["agentic-ai","ai","app","chat-application","nextjs"],"latest_commit_sha":null,"homepage":"https://elysia.weaviate.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weaviate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-14T13:24:55.000Z","updated_at":"2026-01-25T12:03:53.000Z","dependencies_parsed_at":"2025-11-29T18:00:09.789Z","dependency_job_id":null,"html_url":"https://github.com/weaviate/elysia-frontend","commit_stats":null,"previous_names":["weaviate/elysia-frontend"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/weaviate/elysia-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate%2Felysia-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate%2Felysia-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate%2Felysia-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate%2Felysia-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaviate","download_url":"https://codeload.github.com/weaviate/elysia-frontend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate%2Felysia-frontend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30078307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","ai","app","chat-application","nextjs"],"created_at":"2025-09-02T16:02:07.292Z","updated_at":"2026-03-04T10:03:52.897Z","avatar_url":"https://github.com/weaviate.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Elysia Frontend\n\n![Elysia](./public/logo.svg)\n\nElysia is a modern AI-powered platform built as a single-page application (SPA) that provides an intuitive interface for AI interactions, data exploration, and configuration management. This frontend application serves as the user interface for the broader Elysia ecosystem.\n\n## 🏗️ Built With\n\n**Framework \u0026 Core Technologies:**\n\n- **Next.js 14** - React framework with App Router\n- **React 18** - JavaScript library for building user interfaces\n- **TypeScript** - Type-safe JavaScript development\n- **Tailwind CSS** - Utility-first CSS framework\n\n**UI Libraries \u0026 Components:**\n\n- **Radix UI** - Accessible, unstyled UI primitives\n- **Shadcn** - Beautiful \u0026 consistent component library\n- **Framer Motion** - Production-ready motion library\n- **React Markdown** - Markdown component for React\n- **React Syntax Highlighter** - Syntax highlighting component\n\n**3D Graphics \u0026 Visualization:**\n\n- **Three.js** - 3D graphics library\n- **React Three Fiber** - React renderer for Three.js\n- **React Three Drei** - Useful helpers for React Three Fiber\n- **React Three Postprocessing** - Postprocessing effects\n\n**Data Visualization:**\n\n- **Recharts** - Composable charting library\n- **XYFlow React** - Flow chart and node-based UI library\n\n**Development Tools:**\n\n- **ESLint** - Code linting\n- **Prettier** - Code formatting\n- **Cross-env** - Cross-platform environment variables\n\n## 📋 Requirements\n\n- **Node.js** (version 18 or higher)\n- **npm** (comes with Node.js)\n- Modern web browser with ES2017+ support\n\n## 🚀 Getting Started\n\n1. **Clone the repository**\n\n   ```bash\n   git clone \u003crepository-url\u003e\n   cd elysia-frontend\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   npm install\n   ```\n\n3. **Start the development server**\n\n   ```bash\n   npm run dev\n   ```\n\n4. **Open your browser**\n   Navigate to `http://localhost:3000`\n\n## 📁 Project Structure\n\n```\nelysia-frontend/\n├── app/                          # Next.js app directory\n│   ├── api/                      # API route handlers\n│   ├── components/               # React components\n│   │   ├── chat/                 # Chat-related components\n│   │   │   ├── components/       # Shared chat components\n│   │   │   ├── displays/         # Various display types\n│   │   │   └── nodes/            # Flow node components\n│   │   ├── configuration/        # Settings and config components\n│   │   ├── contexts/             # React context providers\n│   │   ├── debugging/            # Debug tools and utilities\n│   │   ├── dialog/               # Modal and dialog components\n│   │   ├── evaluation/           # Evaluation and feedback components\n│   │   ├── explorer/             # Data exploration components\n│   │   ├── navigation/           # Navigation and sidebar components\n│   │   └── threejs/              # 3D graphics components\n│   ├── pages/                    # Main page components\n│   ├── types/                    # TypeScript type definitions\n│   ├── globals.css               # Global styles\n│   ├── layout.tsx                # Root layout component\n│   └── page.tsx                  # Homepage component\n├── components/                   # Shared UI components\n│   └── ui/                       # Reusable UI primitives\n├── hooks/                        # Custom React hooks\n├── lib/                          # Utility functions\n├── public/                       # Static assets\n└── configuration files           # Config files (tsconfig, tailwind, etc.)\n```\n\n### Key Directories Explained:\n\n- **`app/api/`** - Contains server-side API routes for backend communication\n- **`app/components/`** - Core application components organized by feature\n- **`app/pages/`** - Main page components (Chat, Data, Settings, etc.)\n- **`app/types/`** - TypeScript interfaces and type definitions\n- **`components/ui/`** - Reusable UI components built with Radix UI\n- **`hooks/`** - Custom React hooks for shared logic\n- **`public/`** - Static files like images and icons\n\n## 🎯 Application Features\n\n### Single Page Application (SPA)\n\nElysia is built as a SPA using Next.js with client-side routing. The main navigation happens through React context (`RouterContext`) without page reloads, providing a smooth user experience.\n\n### Main Sections:\n\n- **Chat** - AI conversation interface\n- **Data** - Data exploration and visualization\n- **Settings** - Configuration management\n- **Evaluation** - AI model evaluation tools\n- **Explorer** - Advanced data browsing\n\n### Key Capabilities:\n\n- Real-time chat with AI models\n- Interactive data visualizations\n- 3D graphics and globe visualizations\n- Configurable AI model settings\n- Data collection management\n- Feedback and evaluation systems\n\n## 🔧 Available Scripts\n\n```bash\n# Development\nnpm run dev              # Start development server\n\n# Building\nnpm run build           # Build for production\nnpm run build:clean     # Clean build (removes cache first)\n\n# Export \u0026 Assembly\nnpm run export          # Export static files to backend\nnpm run assemble        # Build and export in one command\nnpm run assemble:clean  # Clean build and export\n\n# Other\nnpm start              # Start production server\nnpm run lint           # Run ESLint\n```\n\n## 🔨 Build Process\n\nThe application uses a custom build process designed for static export:\n\n1. **Build**: Creates an optimized production build\n2. **Export**: Generates static files in the `out/` directory\n3. **Assembly**: Copies exported files to the backend's static directory\n\nThe `export.sh` script handles copying the built static files to `../elysia/api/static` for integration with the backend server.\n\n## 🌐 Environment Configuration\n\nThe application supports various environment variables:\n\n- `NEXT_PUBLIC_IS_STATIC` - Enables static export mode\n\n## 🎨 Styling \u0026 Theming\n\n- **Tailwind CSS** for utility-first styling\n- **CSS Custom Properties** for dynamic theming\n- **Custom fonts**: Space Grotesk (text) and Manrope (headings)\n- **Responsive design** with mobile-first approach\n- **Dark mode support** via CSS classes\n\n## 🧩 Architecture Patterns\n\n- **Context-based state management** for global state\n- **Component composition** with Radix UI primitives\n- **Custom hooks** for shared logic\n- **TypeScript interfaces** for type safety\n- **Modular component organization** by feature\n\n## 🌟 Open Source \u0026 Contributing\n\nElysia is an open-source project, and we welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or suggesting enhancements, your contributions help make Elysia better for everyone.\n\n### Ways to Contribute:\n\n- 🐛 **Bug Reports** - Help us identify and fix issues\n- ✨ **Feature Requests** - Suggest new functionality\n- 💻 **Code Contributions** - Submit pull requests with improvements\n- 📚 **Documentation** - Help improve our docs and examples\n- 🧪 **Testing** - Help us test new features and report issues\n\n### Contribution Guidelines:\n\n1. **Fork the repository** and create your feature branch\n2. **Make your changes** following our coding standards\n3. **Ensure all tests pass** and the build is successful\n4. **Submit a pull request** with a clear description of your changes\n\n### 🚨 Before Contributing - Build Requirement\n\n**IMPORTANT**: Before submitting any contribution, you MUST ensure that the build process completes successfully:\n\n```bash\nnpm run build\n```\n\nThis command must run without errors before your pull request will be accepted. This ensures:\n\n- All TypeScript types are valid\n- Components render correctly\n- Dependencies are properly resolved\n- The application can be successfully deployed\n\nIf the build fails, please fix all issues before submitting your contribution.\n\n### Getting Help\n\n- Open an issue for bug reports or feature requests\n- Join our Weaviate community discussions\n- Check out the existing issues for contribution opportunities\n\nWe appreciate every contribution, no matter how small. Thank you for helping make Elysia better! 🎉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaviate%2Felysia-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweaviate%2Felysia-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaviate%2Felysia-frontend/lists"}