Skip to content

WEBcodeX1/x0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

x0 Framework Logo

x0 JavaScript Framework

Framework for building complex, recursive OOP based real-time objects


πŸ“Œ Overview

x0 (cross-objects /krΙ’s Ι’b.dΚ’Ιͺkts/) is a Next-Level JavaScript Framework for building robust, complex, highly structured and real-time-modifiable objects usable in a 100%-Server-Less infrastructure.

  • Responsive by Design: One app, every device, standards via Bootstrap CSS
  • Clean OOP Model: True object orientation, abstraction, chaining, metadata modeling
  • Zero Code Duplication: Efficient, maintainable, backend-agnostic
  • Kubernetes Ready: Easy cloud-native deployment
  • Security: PKCS 11/15 compatible, own PKI system (non-free)
  • Multiple Language Support: x0 supports multiple display languages

πŸ“‘ Table of Contents

  1. Quick Start
  2. Features
  3. Abstract / Purpose
  4. Single Page Application
  5. Documentation
  6. Simple Usage
  7. Technical Details
  8. Security
  9. Examples
  10. File & Folder Structure
  11. Contributing
  12. Future Plans / Milestones
  13. Community & Support
  14. License
  15. References

🐎 Quick Start

Try x0 now in minutes!

# clone & enter repo git clone https://github.com/WEBcodeX1/x0.git cd x0 # install docker apt-get -y install docker.io docker-buildx # docker permissions & setup (as root) usermod -aG docker your-user # restart (system) and pull pre-built images docker pull ghcr.io/webcodex1/x0-app docker pull ghcr.io/webcodex1/x0-db docker pull ghcr.io/webcodex1/x0-test # start x0-system cd ./docker/ ./x0-start-containers.sh
  1. Add to /etc/hosts:
172.20.0.10 x0-app.x0.localnet
  1. Try hello world:
http://x0-app.x0.localnet/python/Index.py 
  1. Try examples:
http://x0-app.x0.localnet/python/Index.py?appid=example7 

Full install details including build instructions: ./INSTALL.md.


🌟 Features

  • Cross Objects: Clean OOP, seamless data exchange between clients and network
  • Responsiveness: Bootstrap CSS grid, single app for all devices
  • Object Chaining / Data Abstraction: Chain objects, enjoy recursive, reusable modeling
  • Zero Code Duplication / Freedom: OSI-layer abstraction, minimal backend dependencies
  • Kubernetes Ready: Google Kubernetes Engine (GKE), Minikube support
  • Security: PKCS-compatible, optional advanced PKI system

Learn more in Examples.


πŸ“£ Abstract / Purpose

x0 is designed to make advanced SPA development fun, fast, and maintainable. With zero code duplication and a clean OOP model, x0 powers complex, modern web applications.


πŸ’» Single Page Application

Single Page Applications (SPAs) are modern web apps that deliver a seamless, desktop-like user experience directly in the browser. Unlike traditional multi-page websites, SPAs dynamically update content without requiring full page reloads, resulting in faster interactions and smoother navigation.

  • Real-Time Updates: By using technologies like WebSockets or polling, SPAs can reflect changes instantly β€” ideal for chat apps, dashboards, or any application requiring live data.
  • Optimized Performance: Static assets are loaded once, and only data or components needed for each interaction are fetched afterward, reducing bandwidth and latency.

πŸ“ƒ Documentation

Rendered docs: Official Sphinx Documentation.


πŸ“ Simple Usage

# define object from system objects let myRootObject1 = new sysBaseObject(); const myObject1 = new sysObjFormfieldItem(JSONConfig); const myObject2 = new sysObjLink(JSONConfig); const myObject3 = new sysObjButton(JSONConfig); myRootObject.addObject(myObject1); myRootObject.addObject(myObject2); myRootObject.addObject(myObject3); # register new system object sysRegister(myRootObject1, 'MyCoolObject'); # reuse and combine let myRootObject2 = new sysBaseObject(); const myObject4 = new sysObjMyCoolObject(JSONConfig); const myObject5 = new sysObjMyCoolObject(JSONConfig); myRootObject2.addObject(myObject4); myRootObject2.addObject(myObject5); # realtime render myRootObject2.renderObject();

⚑ Technical Details

OS Compatibility:

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 24.04 (Noble Numbat)
  • Devuan (Daedalus 5.0)

Prerequisites:

  • Apache2.0+ / WSGI or FalconAS
  • PostgreSQL 13+
  • Python3+, Psycopg2, Selenium

Kubernetes:

Deployment:

  • Linux Standalone
  • Docker
  • Google Kubernetes Engine (GKE)

πŸ” Security

PKCS 11/15 compatible. Optional advanced PKI (non-free). Full details in WEB/codeX PKI Manager.


πŸ’‘ Examples

Try 15 live examples (after local docker containers have been started):

http://x0-app.x0.localnet/python/Index.py?appid=example1 ... http://x0-app.x0.localnet/python/Index.py?appid=example15 

Most examples now include a descriptive video: ./example/README.md.


πŸ“ File & Folder Structure

Partial overview, see GitHub file search:

β”œβ”€β”€ README.md β”œβ”€β”€ INSTALL.md β”œβ”€β”€ debian/ β”‚ └── README.md β”œβ”€β”€ docker/ β”‚ β”œβ”€β”€ README.md β”‚ β”œβ”€β”€ build-all.sh β”‚ └── ... β”œβ”€β”€ doc/ β”‚ β”œβ”€β”€ index.rst β”‚ β”œβ”€β”€ intro.rst β”‚ β”œβ”€β”€ dev-examples.rst β”‚ β”œβ”€β”€ Makefile β”‚ └── conf.py β”œβ”€β”€ example/ β”‚ β”œβ”€β”€ example1 β”‚ └── example2 β”œβ”€β”€ conf/ β”‚ └── wsgi.conf β”œβ”€β”€ www/ β”‚ └── sysText.js β”œβ”€β”€ test/ β”‚ └── README.md └── ... (more files & folders) 

πŸ‘‹ Contributing

Contributions & feedback welcome! See ./CONTRIBUTING.md or open an issue.


⏰ Future Plans / Milestones


🌐 Community & Support


πŸ“ License

AGPL-3.0. See ./LICENSE.


πŸ”— External References


Made with ❀️ by Claus Prüfer / clickIT / WEBcodeX

Sponsor this project

  •  
  •  

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •