Commit Graph

9 Commits

Author SHA1 Message Date
stephan.kasdorf
ea6575932f 🚀 Nibiru Framework CLI v2.0.0 - PostgreSQL Support & Modern UI
 New Features
🐘 PostgreSQL Database Support
Multi-database architecture: Full PostgreSQL support alongside existing MySQL/MariaDB
Automatic driver detection: Seamlessly switches between MySQL and PostgreSQL based on INI configuration
Conditional compilation: Builds with or without PostgreSQL libraries (graceful degradation)
Database-agnostic migrations: Same migration interface for both database types
Production-ready: PostgreSQL-specific SQL syntax handling (SERIAL, information_schema, etc.)
Configuration:``` ini
[DATABASE]
driver = "postgresql"  # or "mysql" for MySQL/MariaDB
hostname = "localhost"
port = 5432
username = "your-user"
password = "your-password"
basename = "your-database"
```

🎨 Modern UI Redesign
New ASCII art logo: Beautiful Unicode box-drawing characters
Light cyan color scheme: Modern terminal aesthetics matching brand colors
Gradient effects: Bright white to cyan color transitions
Proper alignment: Clean, professional box layout
Horizontal separator: Visual separation between content and footer
🔧 Technical Improvements
Files Added:
PostgreSQLMigrator.h - PostgreSQL migration handler interface
PostgreSQLMigrator.cpp - Full libpq-based implementation
Files Modified:
CMakeLists.txt - PostgreSQL library detection and conditional compilation
main.cpp - Database driver selection logic and modern UI
ModuleCreator.h/.cpp - New color definitions for cyan/bright white
Migration Commands Enhanced:
-mi {environment} - Now supports both MySQL and PostgreSQL
-mi-reset {environment} - Database-agnostic migration reset
-mi-reset-file {filename} {environment} - Single migration reset

🎯 Backward Compatibility
 100% backward compatible with existing MySQL configurations
 Defaults to MySQL when driver field not specified
 No changes required to existing INI files
 Zero modifications to working MySQL implementation

📝 Dependencies
Required:
Boost >= 1.74.0 (program_options, serialization)
MariaDB/MySQL client library
ncurses
libwebp
base64
Optional:
libpq-dev (for PostgreSQL support)

🐛 Bug Fixes
Fixed include order conflict between ncurses and Boost headers
Corrected ASCII art alignment issues
Removed unwanted screen jumping in help output

Installation: Download the binary and place it in your framework root directory, or build from source using the instructions above.
Compatibility: Linux x86_64, tested on Debian/Ubuntu-based distributions

© 2024-2026 Stephan Kasdorf
2026-02-10 16:21:10 +01:00
stephan.kasdorf
7ea8e28598 🚀 Nibiru Framework CLI v2.0.0 - PostgreSQL Support & Modern UI
 New Features
🐘 PostgreSQL Database Support
Multi-database architecture: Full PostgreSQL support alongside existing MySQL/MariaDB
Automatic driver detection: Seamlessly switches between MySQL and PostgreSQL based on INI configuration
Conditional compilation: Builds with or without PostgreSQL libraries (graceful degradation)
Database-agnostic migrations: Same migration interface for both database types
Production-ready: PostgreSQL-specific SQL syntax handling (SERIAL, information_schema, etc.)
Configuration:``` ini
[DATABASE]
driver = "postgresql"  # or "mysql" for MySQL/MariaDB
hostname = "localhost"
port = 5432
username = "your-user"
password = "your-password"
basename = "your-database"
```

🎨 Modern UI Redesign
New ASCII art logo: Beautiful Unicode box-drawing characters
Light cyan color scheme: Modern terminal aesthetics matching brand colors
Gradient effects: Bright white to cyan color transitions
Proper alignment: Clean, professional box layout
Horizontal separator: Visual separation between content and footer
🔧 Technical Improvements
Files Added:
PostgreSQLMigrator.h - PostgreSQL migration handler interface
PostgreSQLMigrator.cpp - Full libpq-based implementation
Files Modified:
CMakeLists.txt - PostgreSQL library detection and conditional compilation
main.cpp - Database driver selection logic and modern UI
ModuleCreator.h/.cpp - New color definitions for cyan/bright white
Migration Commands Enhanced:
-mi {environment} - Now supports both MySQL and PostgreSQL
-mi-reset {environment} - Database-agnostic migration reset
-mi-reset-file {filename} {environment} - Single migration reset

🎯 Backward Compatibility
 100% backward compatible with existing MySQL configurations
 Defaults to MySQL when driver field not specified
 No changes required to existing INI files
 Zero modifications to working MySQL implementation

📝 Dependencies
Required:
Boost >= 1.74.0 (program_options, serialization)
MariaDB/MySQL client library
ncurses
libwebp
base64
Optional:
libpq-dev (for PostgreSQL support)

🐛 Bug Fixes
Fixed include order conflict between ncurses and Boost headers
Corrected ASCII art alignment issues
Removed unwanted screen jumping in help output

Installation: Download the binary and place it in your framework root directory, or build from source using the instructions above.
Compatibility: Linux x86_64, tested on Debian/Ubuntu-based distributions

© 2024-2026 Stephan Kasdorf
2026-02-10 15:15:28 +01:00
Stephan Kasdorf
f1ebcef60f Add 'disabled' option to typecheckbox and update README
Extended the typecheckbox element to include a 'disabled' attribute. Updated the README to provide details on new command-line switches for creating and deleting CMS pages. In preparation of the upcoming AI/CMS module.
2024-10-25 12:55:05 +02:00
stephan.kasdorf
e92091f235 Refactor and enhance database and form operations
Significant changes have been implemented in the database operations, particularly in update and insert functions, ensuring more stable and efficient handling of queries. Form capabilities have been enhanced by adding new attributes for processing decimal steps, further improving data input methods. This update also includes considerable refactoring and security enhancements in the PDO class.
2024-03-27 12:24:25 +01:00
stephan.kasdorf
a91372fd55 Update paths and change ownership for settings directories
The paths for "application/settings/database" and "application/settings/elastic" were updated to be more specific. Along with the change in directory paths, the ownership of these directories was re-set, thereby ensuring appropriate permissions and maintaining consistency across the application.
2024-02-26 16:15:18 +01:00
stephan.kasdorf
447d460417 Update README.md with new commands
The commit includes additional commands for the Nibiru framework in the readme file. It provides detailed usage for the '-g' switch and '-ws {URL} -wp {PORT}' command helping users connect to a WebSocket and use a Graylog Server more effectively. Also added some file- and folder checks to the binary, in order to have the database folder and the elastic folder being created.
2024-02-26 10:57:02 +01:00
stephan.kasdorf
70eb41428d Update README.md with new commands
Updates in the Readme reflect the additions to the binary.

Extended the README.md file for the Nibiru framework by including detailed usage for the '-g' switch and the '-ws {URL} -wp {PORT}' command. These new commands allow for versatility when a Graylog Server is present and when connecting to a WebSocket respectively.
2024-02-16 10:42:28 +01:00
stephan.kasdorf
d193cecac9 nibiru framework v0.9.7 - added a new README.md to have a better understanding for the framework itself, added a versioning system with version numbers. 2023-08-17 16:16:49 +02:00
Stephan Kasdorf
b1bded6101 Version 0.9.6 beta - added new form elements, also added a nibiru binary in order to create modules and plugins. 2023-04-03 21:13:03 +02:00