commit 342781514178bde29c05021bbdeb8ecf88f2ac2b
Author: root <root@hub.scroll.pub>
Date: 2025-01-10 11:22:28 +0000
Subject: Initial commit
diff --git a/concepts.scroll b/concepts.scroll
new file mode 100644
index 0000000..44750d3
--- /dev/null
+++ b/concepts.scroll
@@ -0,0 +1,36 @@
+measures.parsers
+
+id Products
+tableName products
+primaryKey product_id
+relationships categories, orders_items
+recordsEstimate 10000
+storageType InnoDB
+
+id Orders
+tableName orders
+primaryKey order_id
+relationships customers, orders_items
+recordsEstimate 50000
+storageType InnoDB
+
+id Customers
+tableName customers
+primaryKey customer_id
+relationships orders, addresses
+recordsEstimate 25000
+storageType InnoDB
+
+id Categories
+tableName categories
+primaryKey category_id
+relationships products
+recordsEstimate 100
+storageType InnoDB
+
+id Inventory
+tableName inventory
+primaryKey inventory_id
+relationships products, warehouses
+recordsEstimate 15000
+storageType InnoDB
diff --git a/index.scroll b/index.scroll
new file mode 100644
index 0000000..b43e500
--- /dev/null
+++ b/index.scroll
@@ -0,0 +1,22 @@
+title E-Commerce Database Schema
+header.scroll
+
+html
+ # E-Commerce Database Schema
+
+ p This knowledge base provides a comprehensive overview of essential database tables for an e-commerce system. Each entry details table structure, relationships, and recommended configurations.
+
+ section.highlight
+ h2 Key Features
+ ul
+ li Optimized for scalability
+ li Follows database normalization principles
+ li Supports multiple warehouses
+ li Handles complex product relationships
+ li Built for high transaction volumes
+
+concepts.scroll
+concepts
+ printTable
+
+footer.scroll
diff --git a/measures.parsers b/measures.parsers
new file mode 100644
index 0000000..c9f0574
--- /dev/null
+++ b/measures.parsers
@@ -0,0 +1,17 @@
+idParser
+ extends abstractIdParser
+tableNameParser
+ extends abstractStringMeasureParser
+ description The name of the database table
+primaryKeyParser
+ extends abstractStringMeasureParser
+ description The primary key field of the table
+relationshipsParser
+ extends abstractStringMeasureParser
+ description Key relationships with other tables
+recordsEstimateParser
+ extends abstractIntegerMeasureParser
+ description Estimated number of records for medium-sized shop
+storageTypeParser
+ extends abstractStringMeasureParser
+ description Recommended storage engine or type
diff --git a/prompt.json b/prompt.json
new file mode 100644
index 0000000..f43f29d
--- /dev/null
+++ b/prompt.json
@@ -0,0 +1,20 @@
+{
+ "id": "msg_01JHtcRAa32vwtXGtWVGFZoB",
+ "type": "message",
+ "role": "assistant",
+ "model": "claude-3-5-sonnet-20241022",
+ "content": [
+ {
+ "type": "text",
+ "text": "I'll help create a knowledge base for an e-commerce database system.\n\n---domain---\nshopdb.scroll.pub\n\n---measures.parsers---\nidParser\n extends abstractIdParser\ntableNameParser\n extends abstractStringMeasureParser\n description The name of the database table\nprimaryKeyParser\n extends abstractStringMeasureParser\n description The primary key field of the table\nrelationshipsParser\n extends abstractStringMeasureParser\n description Key relationships with other tables\nrecordsEstimateParser\n extends abstractIntegerMeasureParser\n description Estimated number of records for medium-sized shop\nstorageTypeParser\n extends abstractStringMeasureParser\n description Recommended storage engine or type\n\n---concepts.scroll---\nmeasures.parsers\n\nid Products\ntableName products\nprimaryKey product_id\nrelationships categories, orders_items\nrecordsEstimate 10000\nstorageType InnoDB\n\nid Orders\ntableName orders\nprimaryKey order_id\nrelationships customers, orders_items\nrecordsEstimate 50000\nstorageType InnoDB\n\nid Customers\ntableName customers\nprimaryKey customer_id\nrelationships orders, addresses\nrecordsEstimate 25000\nstorageType InnoDB\n\nid Categories\ntableName categories\nprimaryKey category_id\nrelationships products\nrecordsEstimate 100\nstorageType InnoDB\n\nid Inventory\ntableName inventory\nprimaryKey inventory_id\nrelationships products, warehouses\nrecordsEstimate 15000\nstorageType InnoDB\n\n---index.scroll---\ntitle E-Commerce Database Schema\nheader.scroll\n\nhtml\n # E-Commerce Database Schema\n \n p This knowledge base provides a comprehensive overview of essential database tables for an e-commerce system. Each entry details table structure, relationships, and recommended configurations.\n\n section.highlight\n h2 Key Features\n ul\n li Optimized for scalability\n li Follows database normalization principles\n li Supports multiple warehouses\n li Handles complex product relationships\n li Built for high transaction volumes\n\nconcepts.scroll\nconcepts\n printTable\n\nfooter.scroll\n\n---style.css---\n:root {\n --primary-color: #2c3e50;\n --accent-color: #3498db;\n --background-color: #f9fafb;\n --text-color: #2c3e50;\n --border-radius: 8px;\n}\n\nbody {\n font-family: 'Segoe UI', system-ui, sans-serif;\n line-height: 1.6;\n color: var(--text-color);\n background: var(--background-color);\n margin: 0;\n padding: 0;\n}\n\nheader {\n background: var(--primary-color);\n color: white;\n padding: 1rem;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n\nmain {\n max-width: 1200px;\n margin: 0 auto;\n padding: 2rem;\n}\n\ntable {\n width: 100%;\n border-collapse: collapse;\n margin: 2rem 0;\n background: white;\n border-radius: var(--border-radius);\n overflow: hidden;\n box-shadow: 0 0 20px rgba(0,0,0,0.05);\n}\n\nth, td {\n padding: 1rem;\n text-align: left;\n border-bottom: 1px solid #eee;\n}\n\nth {\n background: var(--primary-color);\n color: white;\n font-weight: 500;\n}\n\ntr:hover {\n background: #f5f9ff;\n}\n\n.highlight {\n background: white;\n padding: 2rem;\n border-radius: var(--border-radius);\n margin: 2rem 0;\n box-shadow: 0 2px 4px rgba(0,0,0,0.05);\n}\n\n@media (max-width: 768px) {\n table {\n display: block;\n overflow-x: auto;\n }\n \n .highlight {\n padding: 1rem;\n }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', function() {\n // Add smooth scrolling\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function (e) {\n e.preventDefault();\n document.querySelector(this.getAttribute('href')).scrollIntoView({\n behavior: 'smooth'\n });\n });\n });\n\n // Add table row highlighting\n const tables = document.querySelectorAll('table');\n tables.forEach(table => {\n const rows = table.getElementsByTagName('tr');\n for (let row of rows) {\n row.addEventListener('mouseenter', function() {\n this.style.transition = 'background-color 0.3s ease';\n });\n }\n });\n});\n\n---end---"
+ }
+ ],
+ "stop_reason": "end_turn",
+ "stop_sequence": null,
+ "usage": {
+ "input_tokens": 702,
+ "cache_creation_input_tokens": 0,
+ "cache_read_input_tokens": 0,
+ "output_tokens": 1208
+ }
+}
\ No newline at end of file
diff --git a/readme.scroll b/readme.scroll
new file mode 100644
index 0000000..444c99b
--- /dev/null
+++ b/readme.scroll
@@ -0,0 +1,3 @@
+# shopdb.scroll.pub
+
+database generated by Claude from prompt: banco de dados pra um site de compras
\ No newline at end of file
diff --git a/script.js b/script.js
new file mode 100644
index 0000000..892bcd7
--- /dev/null
+++ b/script.js
@@ -0,0 +1,22 @@
+document.addEventListener('DOMContentLoaded', function() {
+ // Add smooth scrolling
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
+ anchor.addEventListener('click', function (e) {
+ e.preventDefault();
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
+ behavior: 'smooth'
+ });
+ });
+ });
+
+ // Add table row highlighting
+ const tables = document.querySelectorAll('table');
+ tables.forEach(table => {
+ const rows = table.getElementsByTagName('tr');
+ for (let row of rows) {
+ row.addEventListener('mouseenter', function() {
+ this.style.transition = 'background-color 0.3s ease';
+ });
+ }
+ });
+});
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..f4b8ef2
--- /dev/null
+++ b/style.css
@@ -0,0 +1,74 @@
+:root {
+ --primary-color: #2c3e50;
+ --accent-color: #3498db;
+ --background-color: #f9fafb;
+ --text-color: #2c3e50;
+ --border-radius: 8px;
+}
+
+body {
+ font-family: 'Segoe UI', system-ui, sans-serif;
+ line-height: 1.6;
+ color: var(--text-color);
+ background: var(--background-color);
+ margin: 0;
+ padding: 0;
+}
+
+header {
+ background: var(--primary-color);
+ color: white;
+ padding: 1rem;
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+}
+
+main {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 2rem;
+}
+
+table {
+ width: 100%;
+ border-collapse: collapse;
+ margin: 2rem 0;
+ background: white;
+ border-radius: var(--border-radius);
+ overflow: hidden;
+ box-shadow: 0 0 20px rgba(0,0,0,0.05);
+}
+
+th, td {
+ padding: 1rem;
+ text-align: left;
+ border-bottom: 1px solid #eee;
+}
+
+th {
+ background: var(--primary-color);
+ color: white;
+ font-weight: 500;
+}
+
+tr:hover {
+ background: #f5f9ff;
+}
+
+.highlight {
+ background: white;
+ padding: 2rem;
+ border-radius: var(--border-radius);
+ margin: 2rem 0;
+ box-shadow: 0 2px 4px rgba(0,0,0,0.05);
+}
+
+@media (max-width: 768px) {
+ table {
+ display: block;
+ overflow-x: auto;
+ }
+
+ .highlight {
+ padding: 1rem;
+ }
+}