Giter VIP home page Giter VIP logo

poco_restful_webservice's Introduction

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

poco_restful_webservice's People

Contributors

edson-a-soares avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

poco_restful_webservice's Issues

How to build ?

hello i am a beginner
Could you explain me how to compile this project?
I tried:

mkdir build

cd build

cmake -DCMAKE_BUILD_TYPE=Release ..

make

but I get this error:

poco_restful_webservice/include/Infrastructure/Persistence/ConnectionManager.h:24:10: fatal error: Poco/SQL/Session.h: No such file or directory
24 | #include "Poco/SQL/Session.h"

What am I doing wrong?
Can you help me ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.