Migrating to express.js project
This commit is contained in:
		
							
								
								
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
# ---> Composer
 | 
			
		||||
composer.phar
 | 
			
		||||
/vendor/
 | 
			
		||||
 | 
			
		||||
# ---> NPM modules (mainly for Gulp.js)
 | 
			
		||||
# NPM modules (mainly for Gulp.js)
 | 
			
		||||
node_modules/
 | 
			
		||||
 | 
			
		||||
# Compiled CSS and JS assets
 | 
			
		||||
public/css/
 | 
			
		||||
public/js/
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
Copyright (c) <year> <owner> 
 | 
			
		||||
Copyright (c) 2022 Bit Goblin
 | 
			
		||||
 | 
			
		||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# start a local instance of the app using PHP's built-in webserver
 | 
			
		||||
php -S localhost:8080 -t public/ public/index.php
 | 
			
		||||
@@ -1,24 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "bitgoblin/overseer",
 | 
			
		||||
    "description": "Self-hosted inventory tracking web app",
 | 
			
		||||
    "type": "project",
 | 
			
		||||
    "license": "BSD-2-Clause",
 | 
			
		||||
    "autoload": {
 | 
			
		||||
        "psr-4": {
 | 
			
		||||
            "BitGoblin\\Overseer\\": "src/"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "authors": [
 | 
			
		||||
        {
 | 
			
		||||
            "name": "Gregory Ballantine",
 | 
			
		||||
            "email": "gballantine@bitgoblin.tech"
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "minimum-stability": "stable",
 | 
			
		||||
    "require": {
 | 
			
		||||
        "slim/slim": "^4.10",
 | 
			
		||||
        "slim/psr7": "^1.5",
 | 
			
		||||
        "php-di/php-di": "^6.4",
 | 
			
		||||
        "slim/twig-view": "^3.3"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1387
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1387
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1068
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1068
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -21,5 +21,9 @@
 | 
			
		||||
    "gulp": "^4.0.2",
 | 
			
		||||
    "gulp-sass": "^5.1.0",
 | 
			
		||||
    "sass": "^1.55.0"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "express": "^4.18.2",
 | 
			
		||||
    "twig": "^1.15.4"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
# rewrite rules
 | 
			
		||||
RewriteEngine On
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} !-f
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} !-d
 | 
			
		||||
RewriteRule ^ index.php [QSA,L]
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
body{padding:50px 0 0;background:#d3d3d3}#nav-bar{position:fixed;top:0;left:0;width:100%;height:50px;background:#212121;box-shadow:0 2px 1px rgba(0,0,0,.25)}#nav-bar .nav-bar-left{float:left}#nav-bar ul{list-style:none}#nav-bar ul li{display:inline-block}#nav-bar .nav-link a{color:teal;transition:all 230ms ease-in-out}#nav-bar .nav-link a:hover{color:green}
 | 
			
		||||
@@ -1,24 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
// if we're looking for static files in dev, return false so they can be served.
 | 
			
		||||
if (PHP_SAPI == 'cli-server') {
 | 
			
		||||
  $url  = parse_url($_SERVER['REQUEST_URI']);
 | 
			
		||||
  $file = __DIR__ . $url['path'];
 | 
			
		||||
 | 
			
		||||
  // check the file types, only serve standard files
 | 
			
		||||
  if (preg_match('/\.(?:png|js|jpg|jpeg|gif|css)$/', $file)) {
 | 
			
		||||
    // does the file exist? If so, return it
 | 
			
		||||
    if (is_file($file))
 | 
			
		||||
        return false;
 | 
			
		||||
 | 
			
		||||
    // file does not exist. return a 404
 | 
			
		||||
    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found');
 | 
			
		||||
    printf('"%s" does not exist', $_SERVER['REQUEST_URI']);
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
require_once __DIR__ .  '/../src/app.php';
 | 
			
		||||
 | 
			
		||||
$app->run();
 | 
			
		||||
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace BitGoblin\Overseer\Controllers;
 | 
			
		||||
 | 
			
		||||
use Psr\Container\ContainerInterface;
 | 
			
		||||
 | 
			
		||||
class Controller {
 | 
			
		||||
 | 
			
		||||
  protected $container;
 | 
			
		||||
 | 
			
		||||
  public function __construct(ContainerInterface $container) {
 | 
			
		||||
    $this->container = $container;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function get(string $name) {
 | 
			
		||||
    return $this->container->get($name);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace BitGoblin\Overseer\Controllers;
 | 
			
		||||
 | 
			
		||||
use Psr\Http\Message\ResponseInterface as Response;
 | 
			
		||||
use Psr\Http\Message\ServerRequestInterface as Request;
 | 
			
		||||
use Slim\Views\Twig;
 | 
			
		||||
 | 
			
		||||
class HomeController extends Controller {
 | 
			
		||||
 | 
			
		||||
  public function getIndex(Request $request, Response $response): Response {
 | 
			
		||||
    $view = Twig::fromRequest($request);
 | 
			
		||||
    return $view->render($response, 'index.twig');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								src/app.php
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								src/app.php
									
									
									
									
									
								
							@@ -1,25 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
use DI\Container;
 | 
			
		||||
use Slim\Factory\AppFactory;
 | 
			
		||||
use Slim\Views\Twig;
 | 
			
		||||
use Slim\Views\TwigMiddleware;
 | 
			
		||||
 | 
			
		||||
require __DIR__ . '/../vendor/autoload.php';
 | 
			
		||||
 | 
			
		||||
// Create new container object and add our config object to it
 | 
			
		||||
$container = new Container();
 | 
			
		||||
 | 
			
		||||
// Set container to create App with on AppFactory
 | 
			
		||||
AppFactory::setContainer($container);
 | 
			
		||||
$app = AppFactory::create();
 | 
			
		||||
 | 
			
		||||
// create Twig instance
 | 
			
		||||
$twig = Twig::create('views', ['cache' => false]);
 | 
			
		||||
// add Twig-View Middleware
 | 
			
		||||
$app->add(TwigMiddleware::create($app, $twig));
 | 
			
		||||
 | 
			
		||||
// load routes
 | 
			
		||||
require_once __DIR__ . '/routes.php';
 | 
			
		||||
 | 
			
		||||
// app starts in public/index.php
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
use Psr\Http\Message\ResponseInterface as Response;
 | 
			
		||||
use Psr\Http\Message\ServerRequestInterface as Request;
 | 
			
		||||
 | 
			
		||||
// index GET route - this page should welcome the user and direct them to the available actions
 | 
			
		||||
$app->get('/', '\\BitGoblin\\Overseer\\Controllers\\HomeController:getIndex')->setName('index');
 | 
			
		||||
		Reference in New Issue
	
	Block a user