diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..8c2a013 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,559 @@ + + +
+ + +Not every project needs a database server.
For small to mid-scale applications, noneDB delivers the performance you need
without the infrastructure overhead.
Built for simplicity and performance
O(1) key lookups with JSONL byte-offset indexing. Static cache sharing across instances.
+Automatically splits large datasets into shards for optimal performance at scale.
+Atomic file locking ensures safe concurrent access from multiple processes.
+GeoJSON support with R-tree indexing. Find nearby locations in milliseconds.
+Fluent interface with MongoDB-style operators. Chain methods for complex queries.
+PBKDF2 hashed filenames. No external exposure of database structure.
+When you need a database, not an infrastructure
Ship faster without database setup
Admin panels, dashboards, utilities
Articles, pages, simple CMS
App configuration, user preferences
Event tracking, activity logs
Store locators, geo-based features
10K+ records? No problem. Auto-sharding keeps performance consistent as your data grows.
One command. That's all it takes.
$ composer require orhanayd/nonedb
+
+ Requires PHP 7.4+ β’ No extensions needed β’ Works on any hosting
+Simple, intuitive API that just works
// Initialize
+$db = new noneDB();
+
+// Create
+$db->insert("users", [
+ "name" => "John Doe",
+ "email" => "john@example.com",
+ "role" => "admin"
+]);
+
+// Read
+$user = $db->query("users")
+ ->where(["email" => "john@example.com"])
+ ->first();
+
+// Update
+$db->query("users")
+ ->where(["email" => "john@example.com"])
+ ->update(["role" => "superadmin"]);
+
+// Delete
+$db->query("users")
+ ->where(["email" => "john@example.com"])
+ ->delete();
+ // Fluent query builder
+$users = $db->query("users")
+ ->where(["role" => "admin"])
+ ->where(["age" => ['$gte' => 18]])
+ ->sort("created_at", "desc")
+ ->limit(10)
+ ->get();
+
+// Aggregations
+$avg = $db->query("orders")
+ ->where(["status" => "completed"])
+ ->avg("total");
+
+// Search
+$results = $db->query("posts")
+ ->search("PHP database", ["title", "content"])
+ ->get();
+ // Create spatial index
+$db->createSpatialIndex("places", "location");
+
+// Insert GeoJSON data
+$db->insert("places", [
+ "name" => "Coffee Shop",
+ "location" => [
+ "type" => "Point",
+ "coordinates" => [28.9784, 41.0082]
+ ]
+]);
+
+// Find places within 5km
+$nearby = $db->query("places")
+ ->withinDistance("location", 28.9784, 41.0082, 5000)
+ ->withDistance("location", 28.9784, 41.0082)
+ ->sort("_distance", "asc")
+ ->get();
+ Ready for more? Check out the full documentation.
+ +Join developers who chose simplicity over complexity.
+ +