# statgpt-portal-frontend **Repository Path**: mirrors_epam/statgpt-portal-frontend ## Basic Information - **Project Name**: statgpt-portal-frontend - **Description**: StatGPT Portal Frontend - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: development - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-24 - **Last Updated**: 2026-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # StatGPT Portal Frontend Frontend codebase for StatGPT portals. StatGPT is an SDMX-driven platform for statistical organizations allowing to query, transform, analyze, visualize, and interpret statistical data using natural language interface. This repository providing reusable libraries and application example for building StatGPT Portals. The application features a conversational interface powered by the DIAL API, optimized for working with SDMX data. [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/mit) [![React](https://img.shields.io/badge/React-19+-61dafb.svg)](https://reactjs.org/) [![Typescript](https://img.shields.io/badge/Typescript-5+-61dafb.svg)](https://www.typescriptlang.org/) [![Next](https://img.shields.io/badge/Next-15+-purple.svg)](https://nextjs.org/) [![Nx](https://img.shields.io/badge/Nx-21+-5881D8.svg)](https://nx.dev/) ## ๐Ÿ“‹ Table of Contents - [โœจ Main Features](#-main-features) - [๐Ÿ—๏ธ Architecture Overview](#-architecture-overview) - [๐Ÿš€ Getting Started](#-getting-started) - [๐Ÿ› ๏ธ Prerequisites](#-prerequisites) - [๐Ÿ“ฆ Installation](#-installation) - [โ–ถ๏ธ Running Applications](#-running-applications) - [๐Ÿ—๏ธ Building Libraries](#-building-libraries) - [๐Ÿ—๏ธ Project Structure](#-project-structure) - [๐Ÿง‘โ€๐Ÿ’ป Development](#-development) - [๐Ÿ› ๏ธ Prerequisites](#prerequisites) - [๐Ÿงฉ Development Setup](#development-setup) - [๐ŸŽจ Styling](#-styling) - [๐Ÿ“š Libraries](#-libraries) - [๐Ÿงช Testing](#-testing) - [๐Ÿ”— Related Resources](#-related-resources) - [๐Ÿค Contributing](#-contributing) - [๐Ÿ”’ Security](#-security) - [๐Ÿ“„ License](#-license) - [๐Ÿ”— Related Projects](#-related-projects) ## โœจ Main Features - **Modular Nx workspace** with reusable libraries - **Example application** for rapid prototyping - **Integration with Apis**: SDMX and DIAL APIs - **Advanced UI components** for data exploration and sharing - **Conversation Management**: Create, read, update, and delete conversations - **Real-time Messaging**: Stream responses from LLM models using Server-Sent Events - **Monorepo Architecture**: Organized with Nx for scalable development - **Authentication Support**: NextAuth.js integration for secure user authentication ## ๐Ÿ—๏ธ Architecture Overview This project uses: - **Next.js** with App Router for the frontend framework - **Nx Monorepo** for project organization and tooling - **TypeScript** for type safety - **Tailwind CSS** for styling - **DIAL API** for LLM backend integration - **React** for building UI components - **NextAuth.js** for authentication (optional) ## ๐Ÿš€ Getting Started ### ๐Ÿ› ๏ธ Prerequisites - Node.js >= 22.19.0 - npm >= 11.0.0 - DIAL API access (for backend integration) ### ๐Ÿ“ฆ Installation Clone the repository and install dependencies: ```bash git clone https://github.com/epam/statgpt-portal-frontend.git cd statgpt-portal-frontend npm install ``` ### โ–ถ๏ธ Running Applications To start a development server for an application (e.g., `portals-example`): ```bash nx serve portals-example ``` Replace `portals-example` with the desired app name. ### ๐Ÿ—๏ธ Building Libraries To build a library: ```bash nx build ``` ## ๐Ÿ—๏ธ Project Structure ``` apps/ portals-example/ # Example portal application ... libs/ conversation-view/ # Advanced conversation view components share-conversation/ # Conversation sharing utilities dial-toolkit/ # DIAL API integration toolkit sdmx-toolkit/ # SDMX API integration toolkit ... ``` ## ๐Ÿง‘โ€๐Ÿ’ป Development ### Prerequisites - Node.js >= 22.19.0 - npm >= 11.0.0 - Git ### Development Setup 1. **Fork and Clone** ```bash git clone https://github.com/epam/statgpt-portal-frontend.git cd statgpt-portal-frontend ``` 2. **Install Dependencies** ```bash npm install ``` 3. **Set up environment variables**. Create a `.env` file in the application directory: ```env # DIAL API Configuration DIAL_API_URL=https://your-dial-api-endpoint.com DIAL_API_VERSION=your-dial-api-version DIAL_API_KEY=your-api-key DEFAULT_MODEL="ADD_VALUE_HERE" # SDMX API Configuration SDMX_API_URL=https://your-sdmx-api-endpoint.com ``` 4. **Start Development Environment** ```bash # Start Vite dev server npm run start ``` Once the server is up and running, open http://localhost:4200 in your browser to view the application. ## ๐ŸŽจ Styling The project uses Tailwind CSS with a custom theme configuration: - **Primary colors**: Blue palette (CSS variables) - **Secondary colors**: Slate/gray palette - **Custom animations**: fade-in, slide-up, pulse-slow - **Custom spacing**: Extended spacing scale - **Font families**: Inter (sans), JetBrains Mono (mono) See `tailwind.config.js` for the complete configuration. ## ๐Ÿ“š Libraries You can find libraries with detailed documentation in the `libs/` directory: ### @statgpt/conversation-list React components for managing conversation history. ### @statgpt/conversation-view React components for chat interface. ### @statgpt/dial-toolkit DIAL Api client library. ### @statgpt/download-panel React components for downloading SDMX data. ### @statgpt/sdmx-toolkit SDMX Api client library. ### @statgpt/share-conversation Utilities for sharing conversations via link or QR code. ### @statgpt/shared-toolkit Shared TypeScript interfaces. ### @statgpt/ui-components Reusable React components. ## ๐Ÿงช Testing The project uses Jest for testing: ```bash # Run all tests npm run test # Run tests for specific app/lib npm run nx test portals-example npm run nx test dial-toolkit ``` ## ๐Ÿ”— Related Resources - [DIAL API Documentation](https://dialx.ai/dial_api) - [Next.js Documentation](https://nextjs.org/docs) - [NX Documentation](https://nx.dev) - [Tailwind CSS](https://tailwindcss.com) - [NextAuth.js Documentation](https://next-auth.js.org/) ## ๐Ÿค Contributing We welcome contributions! Please see our [Contributing Guide](https://github.com/epam/statgpt-portal-frontend/blob/development/CONTRIBUTING.md) for details on: - Code style guidelines - Testing requirements - Pull request process ## ๐Ÿ”’ Security If you discover a security vulnerability, please refer to our [Security Policy](https://github.com/epam/statgpt-portal-frontend/blob/development/SECURITY.md). ## ๐Ÿ“„ License [MIT](https://github.com/epam/statgpt-portal-frontend/blob/development/LICENSE) - see the [LICENSE](https://github.com/epam/statgpt-portal-frontend/blob/development/LICENSE) file for details. ## ๐Ÿ”— Related Projects - [AI-DIAL](https://github.com/epam/ai-dial) - Entrypoint for all AI Dial projects ---

Made by EPAM Systems

`