Skip to content
Framework for Enterprise Application Development, c++ framework, c++ web framework, c++ application framework, c++ rest framework, c++ soap framework, c++ web sites,c++ web applications, c++ driven web development - c++
C++ Shell JavaScript M4 HTML Makefile Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker Fix issue with pipelined requests Jan 6, 2020
lib Version 1.9 changes, Mar 16, 2014
m4 Fixed issues while building nginx/apache modules Mar 19, 2019
modules Performance optimizations Jan 10, 2020
public Version 1.9 changes, Mar 16, 2014
resources Enable Template Handlers by default Sep 3, 2019
rtdcf Pushed the missing AppDefines template for cmake Mar 11, 2019
script Performance Optimizations Nov 24, 2019
src Added support for unmapped REST controllers Jan 11, 2020
tests Enable Template Handlers by default Sep 3, 2019
vagrant Fixed issues while building nginx/apache modules Mar 19, 2019
web Added support for unmapped REST controllers Jan 11, 2020
.cproject Huge Performance Changes Aug 9, 2019
.gitignore Added missing file for docker compose Mar 23, 2019
.project Fixed several memory leaks Nov 8, 2018
CMakeLists.txt Cleanup cmake build file Mar 21, 2019
INSTALL Changes for fixing warning in mongodb connection string Mar 21, 2019
Makefile.am Fixed issues while building nginx/apache modules Mar 19, 2019
README.md Update README.md Jun 29, 2019
aclocal.m4 Fixed issues while building nginx/apache modules Mar 19, 2019
autogen-noreconf.sh Used libcuckoo concurrent hash map Mar 10, 2019
autogen.sh Used libcuckoo concurrent hash map Mar 10, 2019
configure.ac Fixed issues while building nginx and apache modules Mar 19, 2019
ffead-server.doxyfile Version 1.9 changes, Mar 16, 2014
ffead_gen.help Fixed the automake version issue Sep 17, 2015
ffead_gen.sh Fixed auto generation scripts/templates Jul 10, 2019
ffead_gen_autoconf.help Used libcuckoo concurrent hash map Mar 10, 2019
ffead_gen_autoconf.sh Fixed auto generation scripts/templates Jul 10, 2019

README.md

The ffead-cpp Framework

ffead-cpp is a web-framework, application framework, utilities all bundled into one. It also provides an embedded HTTP/HTT2/Web-Socket compliant high-performance server core. It is a collection of modules all geared towards performing individual roles which together form the cohesive back-bone of ffead-cpp.

It provides a very simple to use and maintain web-framework library with advanced features like Reflection, Dependency Injection (IOC), Inbuilt REST/SOAP support, Security/Authentication features. Moreover implementation for interfacing to caching tools like Memcached/Redis are provided in-built. Database integration/ORM framework (SDORM) solves all major issues with respect to interfacing with SQL/No-SQL database alike.

Multi-level serialization or template level serialization is a high point of ffead-cpp core serialization run-time. Any C++ POCO class can be marked as serializable and the run-time will take care of marshalling/un-marshalling the object to its intended serializable form and back(JSON/XML/BINARY).

ffead-cpp can be easily driven by XML configuration, Services/Controllers/Filters/Interfaces/API(s) are all simple POCO classes without any need for them to extend any classes. The differentiating feature in ffead-cpp is the usage/implementation/support for markers (Annotations in java). Simple #pragma directives can now be used to drive the entire configuration in ffead-cpp, so you can just forget XML configuration.

All in all ffead-cpp is the gap in the world of C++ web application or enterprise application development which I have tried to fill with my humble/honest effort.

Starting version 3.0 ffead-cpp supports both autoconf and cmake for builds

Official ffead-cpp pre-built images can be found at dockerhub

Features

  • Advanced ORM - SDORM (sql/monogo)
  • Embedded Server, Apache/Nginx support (modules)
  • Web Socket Support
  • HTTP2.0 Support
  • Cache API (memcached/redis)
  • Improved Thread/ThreadPool API(s)
  • Marker based configuration (Java style annotations)
  • Improved autotools support
  • Reflection support
  • Serialization support
  • Date/Time Ultility functions
  • Better Logging support
  • Dependency Injection

Quickstart (Using cmake)

  • Install cmake >= 3.8.2 and prerequisites
  • cmake .
  • make install -j4 (Build ffead-cpp along-with the sample applications in web + generate ffead-cpp binary)
  • Sip some coffee
  • cd ffead-cpp-3.0-bin/ (Navigate to the ffead-cpp binary folder)
  • chmod +x *.sh
  • ./server.sh (Startup ffead-cpp Njoy!!)

Quickstart (Using autoconf)

  • Install prerequisites
  • ./autogen.sh (Setup configure for your platform)
  • ./configure (Setup makefiles)
  • Stretch a bit :-)
  • make install (Build ffead-cpp)
  • Sip some coffee
  • make build-apps (Build the sample applications in web + generate ffead-cpp binary)
  • cd ffead-cpp-3.0-bin/ (Navigate to the ffead-cpp binary folder)
  • chmod +x *.sh
  • ./server.sh (Startup ffead-cpp Njoy!!)

For further details checkout the wiki page

You can’t perform that action at this time.