/cpp-blog-api

CPP Blog API is a robust and efficient set of RESTful APIs designed to power personal blogs and online journaling platforms. Built using C++, these APIs provide a seamless backend infrastructure for creating, managing, and interacting with personal blog content.

Primary LanguageC++MIT LicenseMIT

CPP Blog API

Build Tests CodeQL Linting

A robust and efficient set of RESTful APIs designed to power personal blogs and online journaling platforms. Built using C++, these APIs provide a seamless backend infrastructure for creating, managing, and interacting with personal blog content.

CPP Blog API

Getting Started

To get started with and run project locally, there are two ways you can get started:

Project Setup

1. Running in container [Easiest Way]

  1. Install Visual Studio Code
  2. Download and install Docker Desktop.
  3. Follow How to run in Devcontainers

2. Running by compiling on linux/macos

  1. GCC: Compiler used for compiling C++ code.
  2. MAKEFILE: Build tool for that works on Linux as well as Windows.
  3. CMAKE: A cross-pltform tool for building and testing software.

How to compile and run

  1. Create a folder in code with name build.
  2. Open command line and change directory and enter into build folder cd build/.
  3. Now generate cmake tool configuration files and build project by running cmake ../ && make to build project.
  4. Finally to run make run.
  5. To test make tests or ctest command inside build folder.

Features

  • ⬜ High-Performance C++ Backend
  • ⬜ RESTful API Design
  • ⬜ Customizable and Extensible
  • ⬜ Authentication and Security
  • ⬜ Pagination and Sorting
  • ⬜ NoSQL Database Support
  • ⬜ API Documentation

Contributing

I encourage and welcome contributions to project from the open-source community. Whether you spot a bug, have an idea for an enhancement, or want to add new features, feel free to submit a pull request.

Libraries Used

Here's a list of the major libraries used in this project:

  • Crow [For routing]

License

This project is distributed under the MIT license. For more details, please refer to the LICENSE file.