diff --git a/assets/css/custom.css b/assets/css/custom.css
new file mode 100644
index 0000000..28ef2cb
--- /dev/null
+++ b/assets/css/custom.css
@@ -0,0 +1,45 @@
+
+body {
+ font-family: 'Helvetica Neue', Arial, sans-serif;
+ background-color: #ecf0f1;
+ color: #34495e;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: 'Georgia', serif;
+}
+
+.navbar {
+ background-color: #ffffff;
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+}
+
+.hero {
+ background: linear-gradient(to right, #3498db, #2980b9);
+ color: white;
+ padding: 100px 0;
+ text-align: center;
+}
+
+.btn-primary {
+ background-color: #3498db;
+ border-color: #3498db;
+}
+
+.btn-secondary {
+ background-color: #2ecc71;
+ border-color: #2ecc71;
+}
+
+section {
+ padding: 60px 0;
+}
+
+.card {
+ border-radius: 8px;
+ box-shadow: 0 4px 6px rgba(0,0,0,0.1);
+}
+
+.form-control {
+ border-radius: 4px;
+}
diff --git a/assets/js/main.js b/assets/js/main.js
new file mode 100644
index 0000000..fa36c56
--- /dev/null
+++ b/assets/js/main.js
@@ -0,0 +1,13 @@
+
+document.addEventListener('DOMContentLoaded', function () {
+ // Smooth scrolling for anchor links
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
+ anchor.addEventListener('click', function (e) {
+ e.preventDefault();
+
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
+ behavior: 'smooth'
+ });
+ });
+ });
+});
diff --git a/dashboard.php b/dashboard.php
new file mode 100644
index 0000000..15b0fe6
--- /dev/null
+++ b/dashboard.php
@@ -0,0 +1,19 @@
+
+
+
+
Welcome to your Dashboard
+
You are logged in as a .
+
This is a placeholder for your dashboard content.
+
Logout
+
+
+
diff --git a/db/config.php b/db/config.php
index bb98f7d..8dd7cc3 100644
--- a/db/config.php
+++ b/db/config.php
@@ -12,6 +12,22 @@ function db() {
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
+ run_migrations($pdo);
}
return $pdo;
}
+
+function run_migrations($pdo) {
+ $pdo->exec("CREATE TABLE IF NOT EXISTS migrations (migration VARCHAR(255) PRIMARY KEY)");
+ $applied_migrations = $pdo->query("SELECT migration FROM migrations")->fetchAll(PDO::FETCH_COLUMN);
+
+ $migration_files = glob(__DIR__ . '/migrations/*.sql');
+ foreach ($migration_files as $file) {
+ $migration_name = basename($file);
+ if (!in_array($migration_name, $applied_migrations)) {
+ $sql = file_get_contents($file);
+ $pdo->exec($sql);
+ $pdo->prepare("INSERT INTO migrations (migration) VALUES (?)")->execute([$migration_name]);
+ }
+ }
+}
diff --git a/db/migrations/001_create_users_table.sql b/db/migrations/001_create_users_table.sql
new file mode 100644
index 0000000..9166944
--- /dev/null
+++ b/db/migrations/001_create_users_table.sql
@@ -0,0 +1,8 @@
+
+CREATE TABLE IF NOT EXISTS users (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ email VARCHAR(255) NOT NULL UNIQUE,
+ password VARCHAR(255) NOT NULL,
+ role ENUM('donor', 'ngo', 'super_admin') NOT NULL,
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
+);
diff --git a/includes/footer.php b/includes/footer.php
new file mode 100644
index 0000000..614663b
--- /dev/null
+++ b/includes/footer.php
@@ -0,0 +1,34 @@
+
+
+
+
+
+