diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..b348411 --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,41 @@ + +body { + background-color: #121212; + color: #FFFFFF; + font-family: 'Inter', sans-serif; +} + +.navbar { + background-color: #1E1E1E !important; +} + +.btn-primary { + background-color: #00BFFF; + border-color: #00BFFF; +} + +.btn-primary:hover { + background-color: #009ACD; + border-color: #009ACD; +} + +.btn-secondary { + background-color: #BF40BF; + border-color: #BF40BF; +} + +.btn-secondary:hover { + background-color: #993299; + border-color: #993299; +} + +.hero { + background: linear-gradient(45deg, #00BFFF, #BF40BF); + padding: 100px 0; + text-align: center; +} + +.card { + background-color: #1E1E1E; + border: 1px solid #333; +} diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..a233b30 --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1,10 @@ + +if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + navigator.serviceWorker.register('/sw.js').then(registration => { + console.log('ServiceWorker registration successful with scope: ', registration.scope); + }, err => { + console.log('ServiceWorker registration failed: ', err); + }); + }); +} diff --git a/db/config.php b/db/config.php index bbc90a0..6e6a9f1 100644 --- a/db/config.php +++ b/db/config.php @@ -15,3 +15,12 @@ function db() { } return $pdo; } + +function run_migrations() { + $p = db(); + $migrations = glob(__DIR__ . '/migrations/*.sql'); + foreach ($migrations as $migration) { + $sql = file_get_contents($migration); + $p->exec($sql); + } +} \ No newline at end of file diff --git a/db/migrations/001_create_users_table.sql b/db/migrations/001_create_users_table.sql new file mode 100644 index 0000000..16fc33d --- /dev/null +++ b/db/migrations/001_create_users_table.sql @@ -0,0 +1,7 @@ + +CREATE TABLE IF NOT EXISTS users ( + id INT AUTO_INCREMENT PRIMARY KEY, + email VARCHAR(255) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); diff --git a/index.php b/index.php index 7205f3d..bf05921 100644 --- a/index.php +++ b/index.php @@ -1,150 +1,149 @@ - + - - - New Style - - - - - - - - - - - - - - - - - - - + + + AI Web3 App Builder + + + + -
-
-

Analyzing your requirements and generating your website…

-
- Loading… -
-

AI is collecting your requirements and applying the first changes.

-

This page will update automatically as the plan is implemented.

-

Runtime: PHP — UTC

+ + + +
+
+

Build Web3/DeFi Apps with AI

+

The most advanced AI technology to generate, customize, and deploy decentralized applications.

+ Get Started for Free +
+
+ +
+
+
+
+
+
+
AI-Powered Generation
+

Use natural language to describe your app and let our AI generate the code, contracts, and frontend.

+
+
+
+
+
+
+
Web3 & DeFi Specialization
+

Templates and modules for DEXs, DAOs, staking platforms, NFT marketplaces, and more.

+
+
+
+
+
+
+
Flexible Subscriptions
+

Start for free and scale with flexible credit-based plans and one-time purchase options.

+
+
+
+
+
+
+ +
+
+

Pricing

+

Placeholder for pricing plans.

+
+
+ +
+
+

© 2025 Web3 App Builder. All Rights Reserved.

+
+
+ + + -
- + + + + + + + - + \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..ac0ba61 --- /dev/null +++ b/manifest.json @@ -0,0 +1,22 @@ + +{ + "short_name": "Web3 App Builder", + "name": "AI Web3 App Builder", + "icons": [ + { + "src": "assets/images/icon-192x192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "assets/images/icon-512x512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": "/index.php", + "background_color": "#121212", + "display": "standalone", + "scope": "/", + "theme_color": "#121212" +} diff --git a/sw.js b/sw.js new file mode 100644 index 0000000..18dcc5a --- /dev/null +++ b/sw.js @@ -0,0 +1,40 @@ + +const CACHE_NAME = 'version-1'; +const urlsToCache = [ '/', '/index.php', '/assets/css/custom.css', '/assets/js/main.js' ]; + +self.addEventListener('install', event => { + event.waitUntil( + caches.open(CACHE_NAME) + .then(cache => { + console.log('Opened cache'); + return cache.addAll(urlsToCache); + }) + ); +}); + +self.addEventListener('fetch', event => { + event.respondWith( + caches.match(event.request) + .then(response => { + if (response) { + return response; + } + return fetch(event.request); + }) + ); +}); + +self.addEventListener('activate', event => { + const cacheWhitelist = []; + cacheWhitelist.push(CACHE_NAME); + + event.waitUntil( + caches.keys().then(cacheNames => Promise.all( + cacheNames.map(cacheName => { + if(!cacheWhitelist.includes(cacheName)) { + return caches.delete(cacheName); + } + }) + )) + ) +});