Skip to content

XAllegro/Xaas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XaLib

XAllegro C++ Web Application Framework

Designed to get easier developing of web apps using the most advanced patterns:

  • 100% object-oriented coding: increased understanding, maintenance and evolution of the code.
  • MVC model-view-controlled implementation: split page output / code algorithm.
  • Modular, scalar, extensible design, making each component independent.
  • HTML5-CSS3 compliance: the view module (XSLT) implements HTML5, making form generation and validation easier.
  • Control: web pages accessible from both CGI interface and Web Services.
  • Security: automatic security checks performed on libraries’ calling.
  • C++ standard: our framework is based on C++11 aka C++0x and is fully portable over different operating systems.
  • OS-Platform: Windows, Linux, Mac OS X, Raspberry
  • Memory management with SmartPointer
  • Configration: One Configuration File

Built-in operation’s library with no-coding security checks:

  • HTTP requests: providing API to read parameters from GET or POST HTTP requests performing internal security checks.
  • Database abstraction layer: joining communications between code and databases provides a single API to execute and manage different operations, giving independence to the code from the database engine.
  • Database qeury: collections support for Result Set (via std:map).
  • Super Globals Variables: REQUEST, RESPONSE and Web Services.
  • Databse Partitioning: multiples database configuration (Session and authentication, Read, Write).
  • XML manipulation: ready-to-go methods to manipulate XML objects performing various operations as converting strings and/or files to DOM, counting nodes, evaluating XPath expressions etc.
  • XSLT parsing: platform-independent methods to parse XML strings, files or documents, setting XSL values which results into HTML text.
  • Client-server side encryption to protect HTTP communication from the client to the server, including SHA, AES, DES via OpenSSL.
  • Session Management: the framework comes with methods to manage single-sign-on sessions and cookies between Apps sharing the same framework.
  • Detailed and flexible Authentication-Permissions-ACL: unlimited users, GUI to set role-based permissions and ACL.
  • Translations: unlimited languages and GUI-guided translation, so to ease internationalisation and localisation.
  • Dropdown-boxes management: fully GUI-manageable option list in dropdown boxes stored in a single database table.
  • Logging: built-in methods defining different logging levels.
  • Outbound calls with Curl and sockets: handling of Curl calls to external websites managing responses or TCP/IP sockets with external servers.
  • Mail: ready-to-use methods to send emails.
  • Error and info page: automatic methods to generate error and info messages.
  • Character encoding: multiple UTF-8 characters dealing with XML entities and special characters, simplifying conversion to or from URL or Base64, etc.
  • Time Functions: ready-to-use methods to manipulate dates
  • Currency Management
  • Casting: Ready to use casting method
  • Xml Web Services: ready to go Controller and Interfaces to publish Xml Web Services

Raspberry PI:

  • GPIOs : ready-to-use methods to control GPIO
  • UART : ready-to-use methods for UART

Ease of learning, featuring:

  • Design patterns: that means the framework is quick, easy to learn and ready to use.
  • Detailed knowledge of the system not required.
  • Selective learning: thanks to modular design and model-view-controlled patterns, programmers would need to learn only selected functions relative to their project goal, scope and role.