Версия 0.5.2
Стандартный node.js MVC-фреймворк. Тестируется на node v18.10.0
Ключевые особенности проекта на сегодняшний день:
1) Облегченная, но адекватная уровню развития node.js структура папок. Движок системы размещен ./core/
2) Реализованный сервер поддерживает протоколы: {http, https}
3) Обновления самого node.js вероятнее всего затронут в основном файл /core/server/WebServer.js
4) Формат url-ссылок вызова серверных кодов: http://0.0.0.0:3000/ControllerName/functionName?params=…
5) Асинхронность упрощена до пары простых паттернов параллельного и последовательного выполнения кода (см /controller/Ajax.js/getJson())
6) Система гибко конфигурируется через /core/Config.js
7) Все статические файлы для отдачи на front-end собраны в единую папку /public/
8) Шаблонизация на клиенте - элементарная вставка json-данных в html, а header и footer грузятся через ajax.
Для любителей сложных серверных шаблонов в проект добавлен вариант с Handlebars.
9) Есть пример асинхронной работы с базой данный mysql через библиотеку mysql2, а так же кэширование данных в базу
10) Все ваши новые чудесные коды типа Utils.js вы можете размещать в папках /lib/your_lib_name/
11) Авторизация и аутентификация (cookies), безопасность - есть только базовые реализации этих процессов. Можно их дополнить или заменить на другие по вашему усмотрению.
12) sqlToObject(records,specification) - функция-убийца Mongo и ORM систем, соберет из строк sql-запроса индексированный набор объектов в стиле MongoDB. Сложность обработки набора записей O(n). Функция есть в библиотеке как для front-end так и для back-end.
…
Установка дополнений:
npm install handlebars
npm install mysql2
Установка таблиц в базу mySQL: ./InstallDatabase.sql