Alazar42 / Celeris

Celeris is a high-performance backend technology built with C++. Inspired by the meaning "fast" or "rapid" in Latin, Celeris is designed to provide developers with a modern and efficient way to build backend APIs, similar to popular frameworks like FastAPI or Node.js but with the power of C++.
GNU General Public License v3.0
17 stars 2 forks source link

Celeris

Celeris Logo

Overview

Celeris is a backend technology built with C++. Inspired by the Latin word for "fast" or "rapid," Celeris provides a modern and efficient way to build backend APIs. It combines the power and speed of C++ with a clean, developer-friendly API design, similar to popular frameworks like FastAPI or Node.js.


Features


Installation

To get started with Celeris, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/Alazar42/Celeris.git
  2. Build the Project:

    cd Celeris
    mkdir build && cd build
    cmake ..
    make

    Celeris comes with pre-included dependencies like Boost and nlohmann JSON, so there’s no need to install them separately.


Getting Started

Here’s a basic example to set up a simple server using Celeris:

#include <celeris/celeris.hpp>

int main() {
    // Create a Celeris server instance
    Celeris app(8080, "127.0.0.1");

    // Define a simple GET route
    app.get("/hello", [](const Request& req, Response& res) {
        nlohmann::json json_response = {{"message", "Hello, world!"}};
        res.set_json(json_response);
    });

    // Define a POST route
    app.post("/echo", [](const Request& req, Response& res) {
        nlohmann::json json_request = nlohmann::json::parse(req.body);
        res.set_json(json_request);
    });

    // Start the server
    app.listen();

    return 0;
}

Explanation:


Contributing

Celeris is actively developed, and we encourage contributions! Here’s how you can contribute:

  1. Fork the Repository.
  2. Create a New Branch:
    git checkout -b feature-branch
  3. Make Your Changes.
  4. Submit a Pull Request with a clear description of your changes.

Looking for Contributors

We’re seeking collaborators to help expand Celeris, particularly for adding:


License

Celeris is licensed under the GNU General Public License. For more details, see the LICENSE file.


Contact

For questions, issues, or feature requests, please open an issue on GitHub or contact us at alazartesfaye42@gmail.com.