All Projects β†’ edson-a-soares β†’ poco_restful_webservice

edson-a-soares / poco_restful_webservice

Licence: Apache-2.0 License
A RESTful API using Poco C++ Libraries.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to poco restful webservice

nanoFramework.WebServer
πŸ“¦ Web server for nanoFramework packed with features: REST api using attributes, multithread requests, parameters in query URL, static files serving.
Stars: ✭ 15 (-72.22%)
Mutual labels:  restful-api, restful-webservices
REST-Api-with-Slim-PHP
REST API with PHP Slim Framework 3 and MySQL
Stars: ✭ 69 (+27.78%)
Mutual labels:  restful-api, restful-webservices
RestSharpFramework
Framework for testing RESTful Services with RestSharp and C# HTTP Client
Stars: ✭ 18 (-66.67%)
Mutual labels:  restful-api, restful-webservices
behave-restful
BDD Framework to Test REST Services and APIs
Stars: ✭ 47 (-12.96%)
Mutual labels:  restful-api, restful-webservices
Restbed
Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.
Stars: ✭ 1,551 (+2772.22%)
Mutual labels:  restful-api, restful-webservices
grapevine
Fast, unopinionated, embeddable, minimalist web framework for .NET
Stars: ✭ 72 (+33.33%)
Mutual labels:  restful-api, restful-webservices
open-rest-es6-boilerplate
open-rest boilerplate project with es6
Stars: ✭ 24 (-55.56%)
Mutual labels:  restful-api, restful-webservices
peasy-js-samples
Showcases business logic built with peasy-js and consumed by multiple clients
Stars: ✭ 19 (-64.81%)
Mutual labels:  restful-api, architectural-patterns
infracost-gh-action
GitHub Action for Infracost. Shows cloud cost estimates for Terraform in pull requests.
Stars: ✭ 119 (+120.37%)
Mutual labels:  infrastructure-as-code
terraform-vsphere-single-vm
Deploy single vSphere VM with Terraform - template.
Stars: ✭ 21 (-61.11%)
Mutual labels:  infrastructure-as-code
TASK-Management-System
Spring Boot and Angular 7 web application for task management .
Stars: ✭ 34 (-37.04%)
Mutual labels:  restful-webservices
express-typescript-mongoose-starter
A starter for Node JS, Express, Typescript, Mongoose application
Stars: ✭ 22 (-59.26%)
Mutual labels:  restful-api
NodeRestApi
Node.js, Express.js and MongoDB REST API App
Stars: ✭ 38 (-29.63%)
Mutual labels:  restful-api
codeigniter-rest
CodeIgniter 3 RESTful API Resource Base Controller
Stars: ✭ 71 (+31.48%)
Mutual labels:  restful-api
bian
The Banking Industry Architecture Network e.V. (BIAN) model in Archimate 3
Stars: ✭ 48 (-11.11%)
Mutual labels:  architectural-patterns
framework
A stylish PHP application framework crafted using Slim, Twig, Eloquent and Sentinel designed to get you from clone to production in a matter of minutes.
Stars: ✭ 56 (+3.7%)
Mutual labels:  database-migrations
cl-migratum
Database Schema Migration System for Common Lisp
Stars: ✭ 29 (-46.3%)
Mutual labels:  database-migrations
light-rest-4j
A RESTful framework built on top of light-4j with both Swagger 2.0 and OpenAPI 3.0 supports
Stars: ✭ 113 (+109.26%)
Mutual labels:  restful-api
mathesar
Web application providing an intuitive user experience to databases.
Stars: ✭ 95 (+75.93%)
Mutual labels:  restful-api
koa2-rest-scaffold
Koa2 RESTful API θ„šζ‰‹ζžΆγ€‚
Stars: ✭ 27 (-50%)
Mutual labels:  restful-api

Poco RESTful WebService

License Build Status

Overview

This is a totally functional RESTful API built using the free version of Poco C++ Libraries.

Disclaimer

  1. There is a POCO PRO C++ Frameworks and it has its own support to RESful APIs development. Check this out, if you want to know more about it.

  2. This application is just another way to build a application using only the free part of this amazing library. Be aware this is not meant to be a blueprint, the correct way, even worse, the best way to build an API using Poco C++ Libraries. On the contrary, it was built purely for fun and curiosity after I have used this amazing C++ framework in a project I worked in. Surely, there are plenty different ways to build a similar project using Poco C++ Libraries. However, I hope this can be useful offering some guidance for those trying to build a non trivial application using Poco C++ Libraries.

Requirements for running it locally

  • Virtualized environment

    The development environment is built using virtualization. So, for running it locally you just need to have Vagrant, VirtualBox and Puppet installed in your computer.

    Currently, the project has been using the following versions of the tools aforementioned:

    • Vagrant 2.0
    • VirtualBox 5.1
    • Puppet 4.8
  • On your own

    Currently, the project has the following dependencies:

    • CMake 3.7.2
    • GCC-6 and G++-6
    • Google's C++ test framework
    • Poco 1.8.1
    • MySQL

Running the project

After having Vagrant, VirtualBox and Puppet installed you can run the web service locally through a few Ant Tasks at the root directory of the project as follows:

Managing application environment

For making the environment available locally:

ant -propertyfile dev.properties setup_environment

or, using Vagrant directly applying this command on the root directory of the project:

vagrant up

For destroying the environment with everything:

ant -propertyfile dev.properties destroy_environment

or, using Vagrant directly applying this command on the root directory of the project:

vagrant destroy
Managing application database

For making the database available:

ant -propertyfile dev.properties create_schema
ant -propertyfile dev.properties init_schema

For destroying the database:

ant -propertyfile dev.properties drop_schema
Managing the development process
ant -propertyfile dev.properties create_build_directory
ant -propertyfile dev.properties clean_build_directory
ant -propertyfile dev.properties build_project
ant -propertyfile dev.properties compile_project
ant -propertyfile dev.properties run_tests

Usage

After having run the project you will be able to make requests to the API. For doing this, use a Terminal tool like cUrl or any REST Client Tool like ARC or Postman.
You reach the service at the IP address 192.168.1.100:9090.

Running Requests and Responses

For seeing a complete list of API resources and how to make requests and responses consult the API documentation.

Standards and Style

This project do not follow any specific Coding Style Guidelines or Standard. But, it has been influenced by Google C++ Style Guide, PPP Style Guide and Applied Informatics C++ Coding Style Guide itself.

Useful links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].