Content
# Yunxing AI - AI Application Building Platform
Yunxing AI is a powerful AI application building platform designed to simplify the development and deployment process of AI applications. By providing a rich set of tools and interfaces, developers can quickly build, customize, and deploy AI solutions.
## Interface Showcase



## Project Architecture
The project adopts a front-end and back-end separation architecture:
### Front-end Architecture
- **Framework**: Built on [Next.js 15.3.1](https://nextjs.org) + Turbopack
- **Language**: TypeScript
- **UI Components**: [shadcn/ui](https://ui.shadcn.com/), [@radix-ui/react-*](https://www.radix-ui.com/)
- **Styles**: [TailwindCSS 4](https://tailwindcss.com/)
- **State Management**: React Hooks
- **Form Handling**: react-hook-form + zod validation
- **Internationalization**: next-intl 4
- **Authentication**: next-auth 4
- **HTTP Requests**: axios
- **UI Animations**: framer-motion
- **Markdown Rendering**: react-markdown + remark-gfm
- **Icons**: lucide-react + react-icons
- **Notifications**: sonner
- **Code Formatting**: Biome
- **Package Manager**: pnpm
### Back-end Architecture
- **Language**: Java 17
- **Framework**: SpringBoot 3.4.5
- **Security Authentication**: Spring Security + JWT (jjwt 0.12.6)
- **Database**: MySQL 8.3 + MyBatis-Plus 3.5.11
- **Connection Pool**: Druid 1.2.24
- **Cache**: Redis
- **Utility Libraries**: Hutool 5.8.36, Lombok
- **API Documentation**: SpringDoc OpenAPI 2.8.6
- **HTTP Client**: OkHttp, Retrofit
- **Cloud Storage**: Alibaba Cloud OSS
- **Reactive Programming**: Webflux, Reactor
- **AI Integration**: LLM module integrates various AI models
- **Email Service**: Spring Mail
## Directory Structure
```
yunxing-ai/
├── web/ # Front-end code
│ ├── app/ # Next.js application directory
│ │ ├── [locale]/ # Internationalization routes
│ │ ├── api/ # API route handling
│ │ └── globals.css # Global styles
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utility functions and common logic
│ ├── hooks/ # Custom React hooks
│ ├── i18n/ # Internationalization configuration
│ ├── types/ # TypeScript type definitions
│ ├── api/ # API client code
│ └── public/ # Static resources
│
├── api/ # Java back-end service
│ ├── src/main/java/com/yxboot/
│ │ ├── common/ # Common utilities and base classes
│ │ ├── config/ # Configuration classes
│ │ ├── modules/ # Business modules
| | | ├── account # Account permission module
| | | ├── app # Application module
| | | ├── dataset # Dataset (knowledge base) module
| | | ├── system # System module
| | | └── ai # AI model module
│ │ ├── util/ # Utility classes
│ │ ├── llm/ # LLM model integration
│ │ └── ApiApplication.java # Application entry class
│ └── pom.xml # Maven dependency management
│
└── doc/ # Project documentation
├── sql/ # Database scripts
├── dev_log/ # Development logs
└── weekly/ # Weekly reports
```
## Database Structure
The system uses MySQL 8.3 database, with the main table structures including:
- **Account Management**: tenant (tenant table), user (user table), tenant_user (tenant-user association table)
- **Application Management**: app (application table), app_config (application configuration table)
- **Conversation Management**: conversation (conversation table), message (message table)
- **Model Management**: model (model table), provider (model provider table)
## Development Environment Setup
### Front-end Development Environment
1. Install dependencies
```bash
cd web
pnpm install
```
2. Start the development server
```bash
pnpm dev
```
3. Access the development server
Open your browser and visit [http://localhost:3000](http://localhost:3000)
### Back-end Development Environment
1. Install JDK 17 or higher
2. Prepare MySQL 8.3+ and Redis 7.0+ environments
3. Build the project using Maven
```bash
cd api
mvn clean package
```
4. Run the SpringBoot application
```bash
java -jar target/yunxing-api-0.0.1-SNAPSHOT.jar
```
## Technical Features
- **Modern Front-end Architecture**: Utilizing Next.js 15 and Turbopack for an exceptional development experience and performance
- **Multi-language Support**: Internationalization implemented based on next-intl
- **Component-driven Design**: Accessibility and customizability based on shadcn/ui and Radix UI
- **Security Authentication**: Reliable user authentication provided by Spring Security combined with JWT
- **Database Optimization**: Efficient data access and connection pool management provided by MyBatis-Plus and Druid
- **AI Capabilities**: Integration of various large language models
- **Type Safety**: Full-stack TypeScript with strict type checking
## Communication and Collaboration
Yunxing AI is currently in its early stages, and we have documented the entire development process and technical thoughts. We welcome like-minded individuals interested in AI application development to join us in exploring the infinite possibilities of AI application development. Whether you are a front-end engineer, back-end developer, or anyone interested in AI applications, you can participate in the following ways:
- **Star & Fork**: Follow the project on [GitHub](https://github.com/boyazuo/yunxing-ai) or [Gitee](https://gitee.com/yxboot/yunxing-ai)
- **Contribute Code**: Submit PRs to participate in feature development and bug fixes
- **Technical Discussions**: Share your thoughts and suggestions
- **Join the Community**: Scan the QR code below to add WeChat (Note: Yunxing AI)
We believe that through the power of open-source collaboration, we can build a more powerful and user-friendly AI application building platform together. We look forward to witnessing the growth and transformation of Yunxing AI with you!
<img src="https://yxboot-oss.oss-cn-beijing.aliyuncs.com/images/weixin-boya.png" width="160" />
You Might Also Like
Ollama
Ollama enables easy access to large language models on various platforms.

n8n
n8n is a secure workflow automation platform for technical teams with 400+...
OpenWebUI
Open WebUI is an extensible web interface for customizable applications.

Dify
Dify is a platform for AI workflows, enabling file uploads and self-hosting.

Zed
Zed is a high-performance multiplayer code editor from the creators of Atom.
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.