Code Monkey home page Code Monkey logo

cxxdoor's Introduction

cxxdoor

A toy, proof of concept application demonstrating the use of Facebook c++ libraries such as proxygen, folly and RocksDB for the development of HTTP services. Please note that this is a work-in-progress and its only purpose is to demo and integrate different libraries, do not expect production grade software.

dependencies

  • proxygen
  • folly
  • boost c++ libraries
  • crypto++
  • rocksdb
  • wangle
  • pthread
  • gflags
  • glog
  • SSL
  • gtest (for unit testing)

notes

  • CMakeLists.txt
    • cmake file.

db access

Data access is implemented using RocksDB which is a persistent key/value store that I've used to store individual entities and also entire STL containers such as std::vector and std::map with the help of boost::serialization

boost::serialization

template <class Archive>
 void serialize(Archive &ar, const unsigned int version) {
   ar & boost::serialization::base_object<RocksEntity>(*this);
   ar & nombre &email &password;
}
  • dbconfig.h
  • dbmanager.h

entities

  • booking.h
  • rocksentity.h
  • usuario.h

controllers

  • BookingController.h
  • usuariocontroller.h

Use of folly::Synchronized and folly::Singleton

Request Handlers

  • HandlerFactory.h
  • UsuarioHandler.h

Filters

Processors

  • AddUserProcessor.h
  • AuthenticationProcessor.h
  • CommandProcessor.h

unit tests

  • main_test.cpp
  • bookingstest.cpp
  • usuariotest.cpp

cxxdoor's People

Contributors

baskeboler avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

blockspacer

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.