{"id":19826862,"url":"https://github.com/dedalozzo/eoc-server","last_synced_at":"2025-05-01T14:31:48.050Z","repository":{"id":5136794,"uuid":"6303131","full_name":"dedalozzo/eoc-server","owner":"dedalozzo","description":"A complete CouchDB Query Server written in PHP.","archived":false,"fork":false,"pushed_at":"2016-08-10T22:27:51.000Z","size":154,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-18T17:28:29.031Z","etag":null,"topics":["couchdb","couchdb-query-server","couchdb-server","mapreduce","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"CyanogenMod/android_system_netd","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dedalozzo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-19T23:22:38.000Z","updated_at":"2024-04-18T17:28:29.032Z","dependencies_parsed_at":"2022-07-05T19:01:38.004Z","dependency_job_id":null,"html_url":"https://github.com/dedalozzo/eoc-server","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedalozzo%2Feoc-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedalozzo%2Feoc-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedalozzo%2Feoc-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedalozzo%2Feoc-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dedalozzo","download_url":"https://codeload.github.com/dedalozzo/eoc-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224262049,"owners_count":17282267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["couchdb","couchdb-query-server","couchdb-server","mapreduce","php"],"created_at":"2024-11-12T11:11:50.151Z","updated_at":"2024-11-12T11:11:50.869Z","avatar_url":"https://github.com/dedalozzo.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Latest Stable Version](https://poser.pugx.org/3f/eoc-server/v/stable.png)](https://packagist.org/packages/3f/eoc-server)\n[![Latest Unstable Version](https://poser.pugx.org/3f/eoc-server/v/unstable.png)](https://packagist.org/packages/3f/eoc-server)\n[![Build Status](https://scrutinizer-ci.com/g/dedalozzo/eoc-server/badges/build.png?b=master)](https://scrutinizer-ci.com/g/dedalozzo/eoc-server/build-status/master)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/dedalozzo/eoc-server/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/dedalozzo/eoc-server/?branch=master)\n[![License](https://poser.pugx.org/3f/eoc-server/license.svg)](https://packagist.org/packages/3f/eoc-server)\n[![Total Downloads](https://poser.pugx.org/3f/eoc-server/downloads.png)](https://packagist.org/packages/3f/eoc-server)\n\n\nElephant on Couch Server\n========================\nEoC Server is a CouchDB's Query Server implementation made in PHP programming language.\nCouchDB delegates computation of views, shows, filters, etc. to external query servers. It communicates with them over\nstandard input/output, using a very simple, line-based protocol. CouchDB launches the query server and starts sending\ncommands.\nThe server responds according to its evaluation of the commands.\nThe default query server is written in JavaScript. You can use other languages by setting a MIME type in the language\nproperty of a design document or the Content-Type header of a temporary view. Design documents that do not specify a\nlanguage property are assumed to be of type JavaScript, as are ad-hoc queries that are POSTed to temporary view without\na Content-Type header.\nUsing EoC Server you can finally write your views, updates, filters, shows directly in PHP. No more JavaScript, just \npure PHP.\n\n\nComposer Installation\n---------------------\n\nTo install EoC Server, you first need to install [Composer](http://getcomposer.org/), a Package Manager for\nPHP, following those few [steps](http://getcomposer.org/doc/00-intro.md#installation-nix):\n\n``` sh\ncurl -s https://getcomposer.org/installer | php\n```\n\nYou can run this command to easily access composer from anywhere on your system:\n\n``` sh\nsudo mv composer.phar /usr/local/bin/composer\n```\n\nEoC Server Installation\n-----------------------\nOnce you have installed Composer, it's easy install Elephant on Couch Server.\n\n1. Move into the directory where is located `main.js` file:\n``` sh\ncd /opt/local/share/couchdb/server\n```\nIf you are using MacPorts on Mac OS X, you can find it on `/opt/local/share/couchdb/server`, instead if you installed\nCouchDB from source you'll probably find it `/usr/share/couchdb/server/`. Please refer to the CouchDB installation\n[instructions](http://wiki.apache.org/couchdb/Installation).\n\n2. Create a project for EoC Server:\n``` sh\nsudo composer create-project 3f/eoc-server\n```\n\nCouchDB Configuration\n---------------------\nYou are finally ready to configure CouchDB to use EoC Server. At this point you just need to edit `local.ini`\nconfiguration file:\n\n``` sh\nvim /opt/local/etc/couchdb/local.ini\n```\n\nThen, under the `[query_servers]` section, add the following line:\n``` sh\n[query_servers]\nphp=/opt/local/share/couchdb/server/eoc-server/bin/eocsvr.php\n```\n\n\nUsage\n-----\nTo benefit of EoC Server you must use [EoC Client](https://github.com/dedalozzo/eoc-client), a PHP client library for \nCouchDB.\nUsing EoC Client, you can interact with CouchDB, and you can write your views directly in PHP.\nYou don't need to know about CouchDB internals, neither JSON, just learn EoC Client and use it.\nAll you need is to learn the MapReduce concept and an high level guide on CouchDB.\n\n\nRequirements\n------------\nPHP 5.4.7 or above.\n\n\nAuthors\n-------\nFilippo F. Fadda - \u003cfilippo.fadda@programmazione.it\u003e - \u003chttp://www.linkedin.com/in/filippofadda\u003e\n\n\nLicense\n-------\nElephant on Couch Server is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdedalozzo%2Feoc-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdedalozzo%2Feoc-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdedalozzo%2Feoc-server/lists"}