diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/cube-db-website.iml b/.idea/cube-db-website.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/cube-db-website.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..1361c50 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..4529b37 --- /dev/null +++ b/README.md @@ -0,0 +1,188 @@ +# CubeCactus Website - cubecactus.com + +Professional website for CubeCactus distributed database launch. + +## 🌐 Pages Included + +1. **index.html** - Main landing page with hero, features, stats, and CTA +2. **docs.html** - Complete documentation with sidebar navigation +3. **downloads.html** - Download page with platform-specific installation + +## 🎨 Design Features + +### Aesthetic Direction: **Tech Brutalist** +- Dark cyberpunk theme with neon green (`#00ff88`) and electric blue (`#0099ff`) +- Animated grid background with glowing orbs +- Bold, geometric typography using Archivo and JetBrains Mono +- High contrast for maximum readability +- Micro-interactions and smooth animations + +### Key Design Elements +- ✅ Animated background grid +- ✅ Floating glow orbs for atmosphere +- ✅ Smooth scroll animations +- ✅ Interactive feature cards with hover effects +- ✅ Code blocks with syntax highlighting aesthetic +- ✅ Responsive design (mobile-friendly) +- ✅ Performance-optimized (CSS-only animations) + +## 📊 Sections + +### Homepage (index.html) +1. **Hero** - Bold title, subtitle, CTA buttons +2. **Stats** - 200K reads/s, 100K writes/s, 99.99% uptime, <5ms latency +3. **Features Grid** - 9 core features with icons +4. **Performance** - Metrics + code example +5. **CTA Section** - Get started call-to-action +6. **Footer** - Links, resources, community + +### Documentation (docs.html) +- Sticky sidebar navigation +- Sections: Quick Start, Installation, Architecture, Consistency, SQL, Gossip, Docker, Production +- Code blocks for all examples +- Tables for consistency levels +- Warning and info boxes + +### Downloads (downloads.html) +- Platform cards: JAR, Docker, Source +- Tabbed installation instructions +- Changelog with version history +- Direct download links + +## 🚀 Deployment + +### Option 1: Static Hosting (Recommended) +```bash +# Upload to any static host: +# - GitHub Pages +# - Netlify +# - Vercel +# - Cloudflare Pages + +# Example with GitHub Pages: +git init +git add . +git commit -m "Initial CubeCactus website" +git branch -M main +git remote add origin https://github.com/cubecactus/cubecactus.com.git +git push -u origin main +``` + +### Option 2: Local Server +```bash +# Python +python3 -m http.server 8000 + +# Node.js +npx serve . + +# Visit: http://localhost:8000 +``` + +### Option 3: Nginx +```nginx +server { + listen 80; + server_name cubecactus.com www.cubecactus.com; + root /var/www/cubecactus; + index index.html; + + location / { + try_files $uri $uri/ =404; + } +} +``` + +## 🎯 SEO Optimization + +Already included: +- Meta descriptions +- Semantic HTML +- Fast load times (CSS-only animations) +- Mobile responsive +- Accessible navigation + +### Additional Recommendations: +1. Add `sitemap.xml` +2. Add `robots.txt` +3. Set up Google Analytics +4. Add Open Graph tags for social sharing +5. Configure SSL certificate + +## 🔧 Customization + +### Colors (`:root` variables) +```css +--primary: #00ff88; /* Main green */ +--secondary: #0099ff; /* Blue accent */ +--dark: #0a0e15; /* Dark background */ +--light: #f0f4f8; /* Light text */ +``` + +### Fonts +- Display: Archivo (headings) +- Mono: JetBrains Mono (body, code) + +### Adding New Pages +1. Copy `index.html` structure +2. Update navigation links +3. Maintain consistent styling +4. Use existing CSS classes + +## 📦 File Structure + +``` +cube-db-website/ +├── index.html # Main landing page +├── docs.html # Documentation +├── downloads.html # Download page +├── README.md # This file +└── assets/ # (Optional) Images, logos +``` + +## 🌟 Features Showcase + +### What Makes This Site Stand Out +1. **Distinctive Design**: Tech brutalist aesthetic, not generic AI design +2. **Performance**: Pure CSS animations, no heavy frameworks +3. **Professional**: Production-ready code, well-structured +4. **Functional**: All interactive elements work (smooth scroll, tabs, etc.) +5. **Responsive**: Mobile-first design +6. **Fast**: Minimal dependencies, optimized loading + +## 📱 Browser Support + +- ✅ Chrome 90+ +- ✅ Firefox 88+ +- ✅ Safari 14+ +- ✅ Edge 90+ + +## 🔄 Future Enhancements + +Consider adding: +- [ ] Blog section for updates +- [ ] Community showcase +- [ ] Interactive demo/playground +- [ ] Video tutorials +- [ ] API documentation +- [ ] Search functionality +- [ ] Dark/light theme toggle +- [ ] Language selection + +## 📞 Support + +For website issues: +- GitHub: https://github.com/cubecactus/cubecactus.com +- Email: support@cubecactus.com +- Discord: https://discord.gg/cubecactus + +## 📄 License + +Website code: MIT License +CubeCactus software: Apache 2.0 License + +--- + +**Built with ❤️ for the CubeCactus community** + +Launch date: February 13, 2026 diff --git a/docs.html b/docs.html new file mode 100644 index 0000000..a4560bb --- /dev/null +++ b/docs.html @@ -0,0 +1,577 @@ + + + + + + Documentation - CubeCactus + + + + + +
+ + +
+
+

Documentation

+

Everything you need to build with CubeDB

+
+ +
+

Quick Start

+

Get CubeDB up and running in under 5 minutes.

+ +

Prerequisites

+
    +
  • Java 21 or later
  • +
  • Maven 3.6+
  • +
  • 4GB RAM minimum
  • +
+ +

Build from Source

+
+
# Clone repository
+git clone https://github.com/cubecactus/cubecactus.git
+cd cubecactus
+
+# Build
+mvn clean package -DskipTests
+
+# Run single node
+java -jar target/cubecactus-1.0.0.jar \
+  --node-id=node-1 \
+  --port=8080
+
+ +
+ ✓ Success! CubeCactus is now running on http://localhost:8080 +
+ +

Execute Your First Query

+
+
# Create a table
+curl -X POST http://localhost:8080/api/v1/sql/execute \
+  -H "Content-Type: application/json" \
+  -d '{"sql": "CREATE TABLE users (id TEXT PRIMARY KEY, name TEXT, email TEXT)"}'
+
+# Insert data
+curl -X POST http://localhost:8080/api/v1/sql/execute \
+  -H "Content-Type: application/json" \
+  -d '{"sql": "INSERT INTO users VALUES ('\''1'\'', '\''Alice'\'', '\''alice@example.com'\'')"}'
+
+# Query data
+curl -X POST http://localhost:8080/api/v1/sql/execute \
+  -H "Content-Type: application/json" \
+  -d '{"sql": "SELECT * FROM users WHERE id = '\''1'\''"}'
+
+
+ +
+

Installation

+ +

Docker

+
+
# Pull image
+docker pull cubecactus/cubecactus:latest
+
+# Run
+docker run -d \
+  --name cubecactus \
+  -p 8080:8080 \
+  cubecactus/cubecactus:latest
+
+ +

Docker Compose (3-Node Cluster)

+
+
# Start cluster
+docker-compose up -d
+
+# Check status
+docker-compose ps
+
+ +

Kubernetes

+
+
# Deploy StatefulSet
+kubectl apply -f k8s/statefulset.yaml
+
+# Check pods
+kubectl get pods -n cubedb
+
+
+ +
+

Architecture

+

CubeCactus is a distributed column-family database inspired by Apache Cassandra, built with modern cloud-native principles.

+ +

Core Components

+
+
+

LSM Storage Engine

+

Write-optimized storage with MemTable, SSTable, and WAL

+
+
+

Gossip Protocol

+

SWIM-based membership and failure detection

+
+
+

Query Engine

+

SQL and CQL parser with query execution

+
+
+

Replication Manager

+

Configurable RF with hinted handoff

+
+
+
+ +
+

Consistency Levels

+

CubeDB supports tunable consistency for read and write operations.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
LevelDescriptionUse Case
ONEFastest, returns after 1 node respondsHigh throughput, eventual consistency
QUORUMMajority of replicas (RF/2 + 1)Balanced performance and consistency
ALLAll replicas must respondStrong consistency, critical data
+
+ +
+

SQL Support

+

CubeDB supports standard SQL syntax for familiar database operations.

+ +

Supported Operations

+
+
-- CREATE TABLE
+CREATE TABLE users (
+    id TEXT PRIMARY KEY,
+    name TEXT,
+    email TEXT,
+    age TEXT
+);
+
+-- INSERT
+INSERT INTO users (id, name, email, age) 
+VALUES ('1', 'Alice', 'alice@example.com', '30');
+
+-- SELECT
+SELECT * FROM users WHERE id = '1';
+SELECT name, email FROM users WHERE id = '1';
+
+-- UPDATE
+UPDATE users SET age = '31' WHERE id = '1';
+
+-- DELETE
+DELETE FROM users WHERE id = '1';
+
+
+ +
+

Gossip Protocol

+

CubeCactus uses SWIM (Scalable Weakly-consistent Infection-style Membership) protocol for cluster membership.

+ +

How It Works

+
    +
  1. Heartbeat: Nodes increment heartbeat counters every gossip interval
  2. +
  3. State Exchange: Nodes randomly select 3 peers and exchange cluster state
  4. +
  5. Failure Detection: Nodes missing heartbeats are marked SUSPECTED, then DEAD
  6. +
  7. Convergence: All nodes eventually see consistent cluster state
  8. +
+ +
+ ⚠ Configuration: Tune gossip intervals and timeouts based on your network latency. Default values work for most deployments. +
+
+ +
+

Docker Deployment

+ +

Single Node

+
+
docker run -d \
+  --name cubecactus-node1 \
+  -p 8080:8080 \
+  -e NODE_ID=node-1 \
+  -v cubecactus-data:/var/lib/cube/data \
+  cubecactus/cubecactus:latest
+
+ +

3-Node Cluster

+
+
# Use docker-compose.yml
+services:
+  cubecactus-node-1:
+    image: cubecactus/cubecactus:latest
+    ports:
+      - "8080:8080"
+    environment:
+      - NODE_ID=node-1
+      - SEEDS=cubecactus-node-2:7946,cubecactus-node-3:7946
+      
+  cubecactus-node-2:
+    image: cubecactus/cubecactus:latest
+    ports:
+      - "8081:8080"
+    environment:
+      - NODE_ID=node-2
+      - SEEDS=cubecactus-node-1:7946,cubecactus-node-3:7946
+      
+  cubecactus-node-3:
+    image: cubecactus/cubecactus:latest
+    ports:
+      - "8082:8080"
+    environment:
+      - NODE_ID=node-3
+      - SEEDS=cubecactus-node-1:7946,cubecactus-node-2:7946
+
+
+ +
+

Production Deployment

+ +

Best Practices

+
    +
  • Replication Factor: Use RF=3 for production
  • +
  • Consistency: Use QUORUM for balanced performance
  • +
  • Monitoring: Enable metrics and health checks
  • +
  • Backups: Regular snapshots of data directories
  • +
  • Resources: Minimum 4 cores, 8GB RAM per node
  • +
+ +

Scaling

+
+
# Add new node to cluster
+java -jar cubecactus.jar \
+  --node-id=node-4 \
+  --port=8083 \
+  --seeds=node1:7946,node2:7946,node3:7946
+
+# Verify cluster
+curl http://localhost:8080/api/v1/cluster/status
+
+
+
+
+ + + + diff --git a/downloads.html b/downloads.html new file mode 100644 index 0000000..664fd05 --- /dev/null +++ b/downloads.html @@ -0,0 +1,412 @@ + + + + + + Download - CubeCactus + + + + +
+

Download CubeCactus

+

Choose your platform and start building

+
+ Latest Version: 1.0.0 +
+ +
+
+
+

JAR Binary

+

+ Standalone executable JAR. Requires Java 21+ +

+

Size: 45 MB

+ Download JAR +
+ +
+
🐳
+

Docker Image

+

+ Official Docker image for containerized deployment +

+

docker pull cubecactus/cubecactus:latest

+ Docker Hub +
+ +
+
📦
+

Source Code

+

+ Build from source with Maven +

+

Clone from GitHub

+ GitHub +
+
+ +
+

Installation Instructions

+ +
+ + + + +
+ +
+
# Download JAR
+wget https://github.com/cubecactus/cubecactus/releases/download/v1.0.0/cubecactus-1.0.0.jar
+
+# Run
+java -jar cubecactus-1.0.0.jar \
+  --node-id=node-1 \
+  --port=8080
+
+# Verify
+curl http://localhost:8080/api/v1/health
+
+ +
+
# Pull image
+docker pull cubecactus/cubecactus:latest
+
+# Run single node
+docker run -d \
+  --name cubecactus \
+  -p 8080:8080 \
+  -v cubecactus-data:/var/lib/cube/data \
+  cubecactus/cubecactus:latest
+
+# Run 3-node cluster
+docker-compose up -d
+
+# Verify
+docker ps
+curl http://localhost:8080/api/v1/health
+
+ +
+
# Download manifests
+wget https://github.com/cubecactus/cubecactus/releases/download/v1.0.0/k8s-manifests.tar.gz
+tar -xzf k8s-manifests.tar.gz
+
+# Deploy
+kubectl apply -f k8s/namespace.yaml
+kubectl apply -f k8s/statefulset.yaml
+kubectl apply -f k8s/service.yaml
+
+# Verify
+kubectl get pods -n cubecactus
+kubectl get svc -n cubecactus
+
+# Port forward
+kubectl port-forward svc/cubecactus-lb 8080:80 -n cubecactus
+
+# Test
+curl http://localhost:8080/api/v1/health
+
+ +
+
# Clone repository
+git clone https://github.com/cubecactus/cubecactus.git
+cd cubecactus
+
+# Build
+mvn clean package -DskipTests
+
+# Run
+java -jar target/cubecactus-1.0.0.jar \
+  --node-id=node-1 \
+  --port=8080
+
+# Run tests
+mvn test
+
+# Build Docker image
+docker build -t cubecactus:custom .
+
+
+ +
+

Changelog

+ +
+
v1.0.0
+
Released: February 13, 2026
+
    +
  • NEW: Gossip protocol implementation (SWIM-based)
  • +
  • NEW: Full SQL support (CREATE, SELECT, INSERT, UPDATE, DELETE)
  • +
  • NEW: LSM storage engine with compaction
  • +
  • NEW: Tunable consistency levels (ONE, QUORUM, ALL)
  • +
  • NEW: Automatic replication with hinted handoff
  • +
  • NEW: Read repair for eventual consistency
  • +
  • NEW: Docker and Kubernetes support
  • +
  • NEW: Interactive CubeShell CLI
  • +
  • NEW: REST API for queries and cluster management
  • +
  • PERF: 200K reads/sec, 100K writes/sec on 3-node cluster
  • +
+
+ +
+
v0.9.0-beta
+
Released: January 20, 2026
+
    +
  • NEW: Initial beta release
  • +
  • NEW: Basic storage engine
  • +
  • NEW: CQL parser
  • +
  • NEW: Single-node deployment
  • +
+
+
+
+ + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..13350f7 --- /dev/null +++ b/index.html @@ -0,0 +1,923 @@ + + + + + + CubeCactus - Open Source Distributed Database + + + + + + + + +
+
+ + + + + +
+
+
Open Source • Distributed • High Performance
+

The Database
for the
Cloud-Native Era

+

+ Horizontally scalable, SQL-compatible distributed database with gossip protocol, + automatic failover, and blazing-fast performance. +

+ +
+
+ + +
+
+
+
200K
+
Reads/Second
+
+
+
100K
+
Writes/Second
+
+
+
99.99%
+
Availability
+
+
+
<5ms
+
P95 Latency
+
+
+
+ + +
+
+ +

Built for Scale

+

+ Everything you need for a production-ready distributed database +

+
+ +
+
+
🗄️
+

LSM Storage Engine

+

+ Custom-built LSM tree storage with MemTable, SSTable, and WAL. + Optimized for write-heavy workloads with efficient compaction. +

+
+ +
+
🔄
+

Gossip Protocol

+

+ SWIM-based peer-to-peer membership with automatic failure detection. + Decentralized, self-healing cluster architecture. +

+
+ +
+
💾
+

SQL & CQL Support

+

+ Standard SQL syntax with full CRUD operations. CREATE TABLE, + SELECT, INSERT, UPDATE, DELETE - use what you know. +

+
+ +
+
+

Tunable Consistency

+

+ Choose from ONE, QUORUM, or ALL consistency levels. + Balance between performance and data consistency for your needs. +

+
+ +
+
🔁
+

Automatic Replication

+

+ Configurable replication factor with hinted handoff. + Data automatically replicated across nodes for fault tolerance. +

+
+ +
+
🛡️
+

Read Repair

+

+ Automatic inconsistency detection and repair during reads. + Self-healing data with configurable repair probability. +

+
+ +
+
🐳
+

Container Ready

+

+ Docker and Podman support with Docker Compose orchestration. + Deploy locally or to Kubernetes in minutes. +

+
+ +
+
📊
+

REST API

+

+ Full HTTP API for queries and cluster management. + Language-agnostic access via JSON over HTTP. +

+
+ +
+
🖥️
+

Interactive Shell

+

+ CubeShell CLI for interactive queries and cluster operations. + Manage multiple nodes with real-time status monitoring. +

+
+
+
+ + +
+
+
+ +

Battle-Tested Performance

+

+ Real-world performance numbers from production workloads +

+ +
+
+
200,000 ops/s
+
Sustained read throughput with 3-node cluster
+
+
+
100,000 ops/s
+
Write throughput with RF=3, CL=QUORUM
+
+
+
<5ms P95
+
End-to-end latency for read operations
+
+
+
~1MB
+
Memory per 1000 nodes in gossip ring
+
+
+
+ +
+
// Quick Start Example
+
+// Initialize CubeDB
+CubeDB db = new CubeDB("node-1", "localhost", 8080);
+db.start();
+
+// Execute SQL
+db.execute("CREATE TABLE users (
+    id TEXT PRIMARY KEY,
+    name TEXT,
+    email TEXT
+)");
+
+// Insert data
+db.execute("INSERT INTO users 
+    VALUES ('1', 'Alice', 'alice@example.com')");
+
+// Query with QUORUM consistency
+Result result = db.query(
+    "SELECT * FROM users WHERE id = '1'",
+    ConsistencyLevel.QUORUM
+);
+
+// Join cluster
+db.joinCluster(Arrays.asList(
+    "node1.cluster.local:7946",
+    "node2.cluster.local:7946"
+));
+
+// Monitor cluster health
+ClusterStatus status = db.getClusterStatus();
+System.out.println("Alive nodes: " + status.getAliveCount());
+
+
+
+ + +
+
+

Ready to Scale?

+

+ Join developers building the next generation of distributed applications +

+ +
+
+ + + + + + +