mirdaczbpr/skeleton-app-base

Skeleton pro webovou aplikaci s Nette

Installs: 6

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 1

Type:project

pkg:composer/mirdaczbpr/skeleton-app-base

v1.2.0 2025-06-17 21:37 UTC

This package is auto-updated.

Last update: 2025-10-06 15:19:22 UTC


README

Welcome! This is a basic skeleton of a modern web application built with the Nette framework and the Latte templating engine.
If you find Nette helpful, please consider supporting it via a donation.
Thank you for your generosity!

Requirements

Installation

To install the application, use Composer:

composer create-project mirdaczbpr/skeleton-app-base MiRdACz-BPR

Make sure the following folders are writable:

  • temp/
  • log/

Database Setup

Before running the app, insert the users permissions table into your database:

CREATE TABLE `users` (
  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  `role` varchar(30) COLLATE utf8mb4_czech_ci NOT NULL,
  `username` varchar(50) COLLATE utf8mb4_czech_ci NOT NULL,
  `email` varchar(100) COLLATE utf8mb4_czech_ci NOT NULL,
  `password` varchar(255) COLLATE utf8mb4_czech_ci NOT NULL,
  `active_key` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_czech_ci DEFAULT NULL,
  `authtoken` varchar(128) COLLATE utf8mb4_czech_ci NOT NULL,
  `ip` varchar(45) COLLATE utf8mb4_czech_ci NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_czech_ci;

INSERT INTO `users` (`id`, `role`, `username`, `email`, `password`, `active_key`, `authtoken`, `ip`, `created_at`) VALUES
(12, 'admin', 'admin', 'admin@admin.cz', '$2y$10$qd6tnFXvP0.ghiAbsy8hgeN6bEJ/XXCe/kgOtUm2/Dukqp3z.sF5q', NULL, 'u3pqu6fv6ddbl6ax8f', '::1', '2025-06-17 21:24:31');

CREATE TABLE IF NOT EXISTS `permissions` (
  `id` int NOT NULL AUTO_INCREMENT,
  `role` varchar(50) COLLATE utf8mb4_czech_ci NOT NULL,
  `resource` varchar(100) COLLATE utf8mb4_czech_ci NOT NULL,
  `privilege` varchar(50) COLLATE utf8mb4_czech_ci DEFAULT NULL,
  `allowed` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_czech_ci;

INSERT INTO `permissions` (`id`, `role`, `resource`, `privilege`, `allowed`) VALUES
(5, 'admin', 'Admin', 'default', 1);

Web Server Setup

To quickly run the app with PHP’s built-in server:

php -S localhost:8000 -t www

Then open http://localhost:8000 in your browser.

If you use Apache or Nginx, configure your virtual host to point to the www/ directory.

⚠️ Important: Protect the following folders from public web access:
app/, config/, log/, and temp/

Features

✅ Skeleton application using the latest Nette framework and Latte templating engine, fully compatible with PHP 8.1 and newer.

🔐 User registration and login system (with DB table users permissions and login admin admin)

🧰 Core Nette components:

  • nette/application
  • nette/forms
  • nette/database
  • nette/security
  • nette/http
  • nette/utils

🛠 Debugging with Tracy

🌍 Translation support via contributte/translation

🧾 Bootstrap-form integration using contributte/forms-bootstrap

🎨 Templating with Latte

📦 Composer-ready installation:

composer create-project mirdaczbpr/skeleton-app-base MiRdACz-BPR

🚀 Quick start using built-in PHP server:

php -S localhost:8000 -t www

🔐 Security best practices:
Protect app/, config/, log/, and temp/ folders from web access

🧪 Basic testing setup using nette/tester

🗂 Project structure prepared for MVC and further expansion

Skeleton webový projekt v Nette

Vítejte! Toto je základní kostra moderní webové aplikace postavené na frameworku Nette a šablonovacím systému Latte.
Pokud vám Nette pomáhá, zvažte prosím jeho podporu formou daru.
Děkujeme za vaši štědrost!

Požadavky

Instalace

Pro instalaci aplikace použijte Composer:

composer create-project mirdaczbpr/skeleton-app-base MiRdACz-BPR

Ujistěte se, že následující složky mají povolený zápis:

  • temp/
  • log/

Nastavení databáze

Před spuštěním aplikace je potřeba do databáze vložit tabulku users permissions:

CREATE TABLE `users` (
  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  `role` varchar(30) COLLATE utf8mb4_czech_ci NOT NULL,
  `username` varchar(50) COLLATE utf8mb4_czech_ci NOT NULL,
  `email` varchar(100) COLLATE utf8mb4_czech_ci NOT NULL,
  `password` varchar(255) COLLATE utf8mb4_czech_ci NOT NULL,
  `active_key` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_czech_ci DEFAULT NULL,
  `authtoken` varchar(128) COLLATE utf8mb4_czech_ci NOT NULL,
  `ip` varchar(45) COLLATE utf8mb4_czech_ci NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_czech_ci;

INSERT INTO `users` (`id`, `role`, `username`, `email`, `password`, `active_key`, `authtoken`, `ip`, `created_at`) VALUES
(12, 'admin', 'admin', 'admin@admin.cz', '$2y$10$qd6tnFXvP0.ghiAbsy8hgeN6bEJ/XXCe/kgOtUm2/Dukqp3z.sF5q', NULL, 'u3pqu6fv6ddbl6ax8f', '::1', '2025-06-17 21:24:31');

CREATE TABLE IF NOT EXISTS `permissions` (
  `id` int NOT NULL AUTO_INCREMENT,
  `role` varchar(50) COLLATE utf8mb4_czech_ci NOT NULL,
  `resource` varchar(100) COLLATE utf8mb4_czech_ci NOT NULL,
  `privilege` varchar(50) COLLATE utf8mb4_czech_ci DEFAULT NULL,
  `allowed` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_czech_ci;

INSERT INTO `permissions` (`id`, `role`, `resource`, `privilege`, `allowed`) VALUES
(5, 'admin', 'Admin', 'default', 1);

Spuštění webového serveru

Pro rychlé spuštění aplikace pomocí vestavěného PHP serveru spusťte:

php -S localhost:8000 -t www

Poté otevřete ve svém prohlížeči adresu http://localhost:8000.

Používáte-li Apache nebo Nginx, nastavte virtuální hostitel tak, aby směřoval do složky www/.

⚠️ Důležité: Zabezpečte tyto složky proti přímému přístupu z webu:
app/, config/, log/, temp/

Funkce projektu

✅ Aplikace postavená na nejnovějším Nette frameworku a šablonovacím systému Latte, plně kompatibilní s PHP 8.1+

🔐 Registrace a přihlášení uživatelů (pomocí tabulky users permissions a login admin admin)

🧰 Klíčové komponenty Nette:

  • nette/application
  • nette/forms
  • nette/database
  • nette/security
  • nette/http
  • nette/utils

🛠 Ladění pomocí Tracy

🌍 Podpora překladů přes contributte/translation

🧾 Integrace Bootstrap formulářů přes contributte/forms-bootstrap

🎨 Šablonování pomocí Latte

📦 Instalace přes Composer:

composer create-project mirdaczbpr/skeleton-app-base MiRdACz-BPR

🚀 Rychlé spuštění pomocí vestavěného PHP serveru:

php -S localhost:8000 -t www

🔐 Bezpečnostní doporučení:
Zajistěte, aby složky app/, config/, log/ a temp/ nebyly dostupné z webu

🧪 Základní nastavení testování pomocí nette/tester

🗂 Struktura projektu připravena pro MVC a další rozšíření