Skip to content

C++ Web Framework for building high-performance APIs, supporting scalable architecture and modern web technologies.

License

Notifications You must be signed in to change notification settings

nebulaatom/nebulaatom

Repository files navigation

banner C++17 License

Nebula Atom

Introduction

Hello! Thank you for using this software, developed with a lot of effort and affection for the Free Software community.

About this software

Nebula Atom is a C++ Web Framework for building high-performance APIs, supporting scalable architecture and modern web technologies.

Features

Support for

  • CMake
  • C++17
  • Docker
  • CppCheck
  • Conan
  • Doxygen
  • ccache
  • cpack

Requeriments

On Debian (11 and 12):

apt-get update && apt-get install -y \
      make \
      binutils \
      g++ \
      git \
      cmake \
      libssl-dev \
      libpoco-dev \
      libmariadb-dev \
      libyaml-cpp-dev

Installation

  • Download the source code
git clone https://gitlab.com/nebulacsf/software/main/nebula-atom.git
  • Build and install
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=release && cmake --build .
cmake --build . --target install

Documentation

Work in progress!

  • Hello World example:
#include "core/nebula_atom.h"
#include "handlers/custom_handler.h"
#include "http/request.h"

using namespace Atom;

int main(int argc, char** argv)
{
    Core::NebulaAtom app;

    app.CustomHandlerCreator_([&](Core::HTTPRequestInfo&)
    {
        return new Handlers::CustomHandler([&](Handlers::CustomHandler& self)
        {
            self.CustomHTMLResponse_(HTTP::Status::kHTTP_OK, "Hello!");
        });
    });

    return app.Init_(argc, argv);
}

Contact

License

This project is under licence Apache-2.0 - see file LICENSE for more details

About

C++ Web Framework for building high-performance APIs, supporting scalable architecture and modern web technologies.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages