Skip to content

nextcore/zenoengine

Repository files navigation

⚡ ZenoEngine

Go Version Latest Release License

The Developer Experience of Laravel. The Speed and Simplicity of Go.

ZenoEngine is a lightning-fast, production-ready execution engine for the ZenoLang programming language. It compiles your entire full-stack application into a single, high-performance binary.

📖 Read Documentation  •  🚀 Quick Start  •  🤝 Contribute


🔥 Why ZenoEngine?

Traditional fullstack development requires configuring complex web servers, process managers, and language runtimes (Nginx, PHP-FPM, Node/PM2, Docker). ZenoEngine changes everything.

  • 🚀 Compiled Go Speed: Built on top of Go, your routes, ORM database queries, and template rendering execute in microseconds with minimal RAM footprint.
  • 🎨 Laravel-Parity DX: Write clean, expressive logic using ZenoLang alongside a 1-to-1 port of the Blade templating engine (@if, @foreach, @extends, $loop, components, and more).
  • 📦 Single-Binary Deployment: Compile your entire application—including routes, views, database migrations, and assets—into a single executable binary. Just copy-paste and run.
  • 🛡️ Secure by Default: Built-in protection against common security risks, including CSRF protection, mass-assignment guards, and automatic cryptographically secure JWT configuration.
  • 🔄 Hot Reload: Modify your templates and logic files and see changes instantly without restarting the server or breaking development flow.

💻 Code at a Glance

1. The Logic (src/main.zl)

Write clean, readable, brace-based backend logic for your routing and database queries:

// Define a route and query database
http.get: '/users' {
    $users: db.query: 'users' {
        select: 'id, name, email'
        where: 'is_active = ?' { val: true }
        limit: 10
    }
    
    return: view: 'users.index' { users: $users }
}

2. The View (views/users/index.blade.zl)

Utilize a familiar, powerful Laravel-like template engine directly in your web views:

@extends('layouts.app')

@section('content')
    <div class="container">
        <h1>Active Users</h1>
        <ul class="user-list">
            @foreach($users as $user)
                <li>
                    <strong>{{ $user.name }}</strong> ({{ $user.email }})
                    @if($loop.first) <span class="badge">Newest</span> @endif
                </li>
            @endforeach
        </ul>
    </div>
@endsection

✨ Features Out of the Box

  • Eloquent-inspired ORM: Relationships (hasOne, hasMany, belongsTo, belongsToMany), eager loading (resolving N+1 issues in exactly 2 queries), and mass-assignment protection.
  • Robust Routing: Route grouping, middleware support, virtual host/subdomain routing, and reverse proxies out-of-the-box.
  • Integrated Mail & Storage: Configurable SMTP/mock mailers and standard file storage slots (put, delete, exists).
  • Automated API Documentation: Automatically generate interactive Swagger/OpenAPI documentation from route definitions and comments.

🚀 Quick Start

1. Download the CLI

Download the latest executable binary from the Releases page for your operating system.

On Linux/macOS:

chmod +x zeno
mv zeno /usr/local/bin/

2. Create a New Project

Scaffold a fully configured MVC or Modular starting boilerplate:

zeno new my-app

3. Run the Development Server

Navigate to the directory and start development with automatic hot reloading:

cd my-app
zeno run src/main.zl

Your app is now running at http://localhost:8080!


📚 Ecosystem & Libraries


📜 License

ZenoEngine is open-source software licensed under the Apache 2.0 License.

About

ZenoEngine adalah aplikasi native dengan runtime berperforma tinggi yang dirancang untuk membangun aplikasi web tanpa recompile via script .zl (Zenolang), dengan arsitektur modular dan DB agnostik (MySQL/Postgres/SQLite/MSSQL), sistem templating Zeno Blade, dan bisa diextend via plugin. Aplikasi ini portable dan mudah dideploy langsung tanpa Nginx

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors