diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-03-21 20:50:43 +0100 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-03-21 20:50:43 +0100 |
| commit | d1ef15fa39935bfa0420c5ac2b8c269e294c9a6d (patch) | |
| tree | 618158449863123f6b9527b9db6183f8c3ce5c91 /src/public | |
| download | camagru-d1ef15fa39935bfa0420c5ac2b8c269e294c9a6d.tar.gz camagru-d1ef15fa39935bfa0420c5ac2b8c269e294c9a6d.zip | |
Initial project scaffold
Set up MVC architecture with front controller, router, autoloader,
database singleton, and Docker Compose stack (Nginx + PHP-FPM + MariaDB).
Includes DB schema, responsive layout, dev tooling (php-cs-fixer,
parallel-lint), and documentation.
Diffstat (limited to 'src/public')
| -rw-r--r-- | src/public/assets/overlays/.gitkeep | 0 | ||||
| -rw-r--r-- | src/public/css/style.css | 64 | ||||
| -rw-r--r-- | src/public/index.php | 11 | ||||
| -rw-r--r-- | src/public/js/app.js | 3 |
4 files changed, 78 insertions, 0 deletions
diff --git a/src/public/assets/overlays/.gitkeep b/src/public/assets/overlays/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/public/assets/overlays/.gitkeep diff --git a/src/public/css/style.css b/src/public/css/style.css new file mode 100644 index 0000000..5677e91 --- /dev/null +++ b/src/public/css/style.css @@ -0,0 +1,64 @@ +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; + min-height: 100vh; + display: flex; + flex-direction: column; + color: #333; + background: #fafafa; +} + +header { + background: #fff; + border-bottom: 1px solid #dbdbdb; + padding: 0.75rem 1rem; +} + +header nav { + max-width: 960px; + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + font-size: 1.5rem; + font-weight: bold; + text-decoration: none; + color: #333; +} + +.nav-links a { + margin-left: 1rem; + text-decoration: none; + color: #0095f6; +} + +main { + flex: 1; + max-width: 960px; + margin: 2rem auto; + padding: 0 1rem; + width: 100%; +} + +footer { + text-align: center; + padding: 1rem; + color: #999; + font-size: 0.85rem; + border-top: 1px solid #dbdbdb; +} + +@media (max-width: 600px) { + header nav { + flex-direction: column; + gap: 0.5rem; + } +} diff --git a/src/public/index.php b/src/public/index.php new file mode 100644 index 0000000..2709bc0 --- /dev/null +++ b/src/public/index.php @@ -0,0 +1,11 @@ +<?php + +// Front controller: single entry point for all HTTP requests. + +declare(strict_types=1); + +require_once __DIR__ . '/../app/bootstrap.php'; + +$router = new \App\Router(); +require_once __DIR__ . '/../config/routes.php'; +$router->dispatch(); diff --git a/src/public/js/app.js b/src/public/js/app.js new file mode 100644 index 0000000..86b3c33 --- /dev/null +++ b/src/public/js/app.js @@ -0,0 +1,3 @@ +document.addEventListener('DOMContentLoaded', function () { + // App initialization +}); |
