# Demos

Discover an extensive collection of demos at <https://github.com/ortus-boxlang/bx-demos/>. This repository offers a wide range of example projects and code snippets designed to illustrate various programming concepts, techniques, and real-world applications.

Whether you are a beginner looking to learn new skills or an experienced developer seeking advanced implementations, this resource provides valuable insights and practical demonstrations to help you enhance your understanding and expertise.

## 🚀 Demo Categories

The demo repository contains examples across multiple categories:

### 📱 **Web Applications**

* **Blog Systems** - Complete blog applications with database integration
* **Comic Book Reader** - File processing and web-based viewing applications
* **Calendar Applications** - Date/time handling and UI generation
* **File Search Tools** - Full-text search and indexing systems
* **API Integration Examples** - REST API consumption and data processing

### 📊 **Data & Integration**

* **Database Access** - MySQL, Derby, and database query examples
* **CSV Processing** - File parsing and data transformation
* **RSS Feed Aggregation** - Multi-source data collection and normalization
* **JSON Handling** - Data serialization and API responses
* **PDF Processing** - Document generation and manipulation

### 🔧 **Advanced Features**

* **Java Library Integration** - Using external JARs and Maven dependencies
* **Module Development** - Creating custom BoxLang modules with BIFs
* **Async Programming** - Background processing and concurrent operations
* **Web Scraping** - AgentQL integration and data extraction
* **AI/ML Integration** - Sentiment analysis and machine learning workflows

### 🎯 **Development Patterns**

* **MVC Applications** - Structured web application architecture
* **REST APIs** - Building and consuming web services
* **Template Systems** - Dynamic content generation
* **Custom Tags** - Reusable component development
* **CLI Tools** - Command-line application examples

## 🎮 Interactive Playground

Don't forget about [https://try.boxlang.io](https://try.boxlang.io/) - your online coding playground where you can experiment with BoxLang code directly in your browser without any local setup required.

<figure><img src="/files/NeCEx6rolvjH6mc7mBo1" alt="BoxLang Try Online Interface"><figcaption><p>BoxLang online coding playground at try.boxlang.io</p></figcaption></figure>

## 📝 Featured Examples

Some notable examples from the repository include:

### **Real-World Blog Application**

Complete blog system with:

* Database integration ( MySQL/Derby )
* Custom routing and templates
* Administration interface
* Multi-user support

### **Java Library Integration**

Demonstrates how to:

* Include external JAR files
* Use Maven-style dependencies
* Integrate with Java Optional patterns
* Handle complex Java objects

### **Module Development**

Shows how to create:

* Custom Built-In Functions ( BIFs )
* Modular components
* Library packaging
* Distribution and installation

### **API Development & Consumption**

Examples of:

* REST API creation with `remote` functions
* External API integration ( Jira, AgentQL, Pinecone )
* Data transformation and caching
* Error handling patterns

## 🔨 Getting Started with Demos

1. **Clone the Repository**:

   ```bash
   git clone https://github.com/ortus-boxlang/bx-demos.git
   ```
2. **Browse Categories**:
   * `webapps/` - Full web applications
   * `modules/` - Custom module examples
   * `misc/` - Utility scripts and tools
   * Individual demo folders contain README files with setup instructions
3. **Try Online First**:
   * Visit [try.boxlang.io](https://try.boxlang.io/) for immediate experimentation
   * Copy demo code snippets to test concepts
   * No local installation required

## 🎯 Learning Path Suggestions

### **Beginners**

Start with basic examples in `misc/` folder, then explore simple web applications

### **Web Developers**

Focus on `webapps/` examples, especially the blog and API demonstrations

### **Java Developers**

Check out Java integration examples and module development patterns

### **Advanced Users**

Explore AI integration, async programming, and complex data processing examples

{% hint style="info" %}
**Pro Tip**: Each demo folder typically contains its own README with specific setup instructions, dependencies, and usage examples. Always check the README first!
{% endhint %}

{% @github-files/github-code-block url="<https://github.com/ortus-boxlang/bx-demos/>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://boxlang.ortusbooks.com/getting-started/running-boxlang/demos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
