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

  •  
  •  
  •  
  •