Framework for building complex, recursive OOP based real-time objects
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
- Quick Start
- Features
- Abstract / Purpose
- Single Page Application
- Documentation
- Simple Usage
- Technical Details
- Security
- Examples
- File & Folder Structure
- Contributing
- Future Plans / Milestones
- Community & Support
- License
- References
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- Add to
/etc/hosts:
172.20.0.10 x0-app.x0.localnet- Try hello world:
http://x0-app.x0.localnet/python/Index.py
- Try examples:
http://x0-app.x0.localnet/python/Index.py?appid=example7
Full install details including build instructions: ./INSTALL.md.
- 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.
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 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.
Rendered docs: Official Sphinx Documentation.
# 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();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:
- Kubegres: GitHub
- Minikube: Partial support on Windows / Linux
- Install Instructions: ./kubernetes/README.md
Deployment:
- Linux Standalone
- Docker
- Google Kubernetes Engine (GKE)
PKCS 11/15 compatible. Optional advanced PKI (non-free). Full details in WEB/codeX PKI Manager.
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.
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)
Contributions & feedback welcome! See ./CONTRIBUTING.md or open an issue.
- Replace Apache with FalconAS Python Application Server: Repo
- Roadmap: GitHub Milestones
AGPL-3.0. See ./LICENSE.
- https://kubernetes.io
- https://www.selenium.dev
- https://www.kubegres.io
- https://www.sphinx-doc.org
- https://www.devuan.org/
- https://github.com/sl1pm4t/k2tf
- https://github.com/WEBcodeX1/http-1.2
Made with β€οΈ by Claus PrΓΌfer / clickIT / WEBcodeX
