Skip to content

Open WebUI Replica Developed a replica of the Open WebUI interface, integrated with local LLMs via LM Studio. Leveraged the Platform5 web application to bridge the backend models with a seamless user interface.

Notifications You must be signed in to change notification settings

Thousifibrahim/Platform-5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

169 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Platform 5 - Fork- Open-Web-UI

Platform 5 Logo

Platform 5 is a unified web interface that centralizes multiple AI providers into organized "Galaxies" - specialized workspaces for different AI interactions and workflows. NOTE : Project is not yet developed completely , Feel free to contrribute.

🌟 Features

  • Galaxy System*: Organize AI interactions by context and purpose
  • Authentication*: Secure user management with JWT tokens
  • Modern UI*: Beautiful, responsive design with dark/light mode
  • Real-time*: Live conversation updates and status monitoring
  • PWA Ready*: Progressive Web App capabilities for mobile use
  • Multi-Provider*: Support for OpenAI, Anthropic, Local AI, and more

🚀 Quick Start

Prerequisites

  • Python 3.8+
  • Node.js 16+
  • npm or yarn

Installation

  1. Clone the repository

    git clone <repository-url>
    cd Platform5
  2. Backend Setup

    # Install Python dependencies
    pip install -r requirements.txt
    
    # Set up environment variables
    cp .env.example .env
    # Edit .env with your configuration
  3. Frontend Setup

    cd frontend
    npm install

Running the Application

  1. Start the Backend (Terminal 1)

    # From project root directory
    uvicorn main:app --host 0.0.0.0 --port 8000 --reload
  2. Start the Frontend (Terminal 2)

    # From frontend directory
    cd frontend
    npm run dev
  3. Access the Application

🔑 Test Credentials

For development and testing:

Role Email Password
Admin admin@cenai.com admin123
User user@cenai.com user123

📁 Project Structure

Platform5/
├── app/                          # Backend application
│   ├── api/                      # API routes
│   │   ├── auth.py              # Authentication endpoints
│   │   ├── galaxies.py          # Galaxy management
│   │   └── conversations.py     # Chat conversations
│   ├── core/                    # Core functionality
│   │   ├── config.py            # Application settings
│   │   └── database.py          # Database configuration
│   └── models/                  # Data models
├── frontend/                    # React frontend application
│   ├── src/
│   │   ├── components/          # Reusable UI components
│   │   ├── pages/               # Application pages
│   │   ├── store/               # State management (Zustand)
│   │   └── types/               # TypeScript definitions
│   ├── public/                  # Static assets
│   └── package.json             # Frontend dependencies
├── .env                         # Environment variables
├── main.py                      # FastAPI application entry
├── requirements.txt             # Python dependencies
└── README.md                    # This file

🛠️ Technology Stack

Backend

  • FastAPI - Modern Python web framework
  • SQLAlchemy - ORM for database operations
  • Pydantic - Data validation and settings
  • Uvicorn - ASGI server for production
  • JWT - Secure authentication tokens

Frontend

  • React 18 - Modern React with hooks
  • TypeScript - Type-safe JavaScript
  • Vite - Fast build tool and dev server
  • Tailwind CSS - Utility-first CSS framework
  • Zustand - Lightweight state management
  • React Router - Client-side routing
  • Heroicons - Beautiful SVG icons

🌌 Galaxy System

Platform 5 organizes AI interactions into "Galaxies" - themed workspaces that group related conversations and AI models:

  • 🤖 ChatGPT Galaxy: OpenAI GPT models for general conversations
  • 🎭 Claude Galaxy: Anthropic Claude for thoughtful responses
  • 🏠 Local AI Galaxy: Self-hosted models via Ollama/LM Studio
  • 🔬 Analysis Galaxy: Data analysis and research tasks
  • 🎨 Creative Galaxy: Content creation and artistic projects

🔧 Configuration

Environment Variables

Create a .env file in the project root:

# Environment
ENVIRONMENT=development

# Database
DATABASE_URL=sqlite:///./platform5.db

# Security
SECRET_KEY=your-secret-key-here
ENCRYPTION_KEY=your-encryption-key-here
ACCESS_TOKEN_EXPIRE_MINUTES=1440

# API Settings
API_V1_PREFIX=/api/v1
CORS_ORIGINS=["http://localhost:5100"]

# AI Provider API Keys (Optional)
OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key

Port Configuration

  • Frontend: Port 5100 (configurable in vite.config.ts)
  • Backend: Port 8000 (configurable in main.py)

📚 API Documentation

The backend provides interactive API documentation:

Key Endpoints

Method Endpoint Description
POST /api/v1/auth/login User authentication
GET /api/v1/galaxies List all galaxies
GET /api/v1/galaxies/{id} Get specific galaxy
GET /api/v1/conversations List conversations
POST /api/v1/conversations Create new conversation

🚀 Deployment

Production Backend

# Install production dependencies
pip install gunicorn

# Run with Gunicorn
gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000

Production Frontend

# Build for production
cd frontend
npm run build

# Serve static files (with nginx, apache, etc.)
# Files will be in frontend/dist/

Docker Deployment

# Backend Dockerfile
FROM python:3.11-slim
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . /app
WORKDIR /app
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Made with ❤️ by the Thousif

Centralizing AI, Simplifying Innovation

About

Open WebUI Replica Developed a replica of the Open WebUI interface, integrated with local LLMs via LM Studio. Leveraged the Platform5 web application to bridge the backend models with a seamless user interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published