GithubHelp home page GithubHelp logo

rlugojr / hoodie-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hoodiehq/hoodie-server

0.0 1.0 0.0 1.56 MB

:dog: The core of the Hoodie backend

Home Page: http://hood.ie

License: Other

JavaScript 100.00%

hoodie-server's Introduction

The Low-Profile Dog Hoodie Mascot

Welcome to hoodie-server! 🎉

Build Status Coverage Status Dependency Status devDependency Status

hoodie-server is the core server component of Hoodie. Together with hoodie-client, it forms the two parts that make up the Hoodie system.

hoodie-server itself is responsible for only a few things:

  • providing a normalized config for itself and all core components/plugins
  • providing an API to interact with databases to components/plugins
  • starting and configuring a hapi server that also serves static components like hoodie-client and hoodie-admin-dashboard

The rest is handled by components like hoodie-server-account, or hoodie-server-store.

hoodie-server isn’t meant to be used by itself and it is used by the hoodie module, which also inlcudes hoodie-client to form Hoodie.

You can use hoodie-server on its own, if you want to work on it, help fix bugs or test new versions. And when you are writing your own components/plugins, you can use hoodie-server for debugging.

Usage

As noted before, this isn’t meant to be run standalone. But if you are helping out with development, building your own components/plugins, or just want to spelunk around, here’s how it works:

git clone [email protected]:hoodiehq/hoodie-server.git
cd hoodie-server
npm install hoodie-start@next
npm install
./node_modules/.bin/hoodie-start

There are a few options to change the behaviour of hoodie-server.

option default description
path process.cwd() Project path
loglevel 'warn'
port 8080 Port-number to run the Hoddie App on
bindAddress 127.0.0.1 Address that Hoodie binds to
www path.join(options.path, 'www') WWW path
inMemory false Whether to start the PouchDB Server in memory
dbUrl PouchDB Server If provided does not start PouchDB Server and uses external CouchDB. Has to contain credentials.
data path.join(options.path, 'data') Data path

If that doesn’t make much sense just yet, don’t worry about it.

Testing

The hoodie-server test suite is run with npm test.

The tests live in test/unit and test/integration. test/unit tests (or “unit tests”) are to test the behaviour of individual sub-modules within hoodie-server, while test/integration tests (or “integration tests”) are used to test the behaviour of a fully running instance of hoodie-server, e.g. the behaviour of its HTTP API.

If you are adding new features to hoodie-server you should provide test cases for the new feature. Depending on the feature, it's either best to write unit tests or integration tests and sometimes even both. The more tests we have, the more confidently we can release future versions of hoodie-server.

Need help or want to help?

It’s best to join our chat.

License

Apache 2.0

hoodie-server's People

Contributors

acconut avatar allain avatar badboy avatar bbn avatar boennemann avatar christophwitzko avatar espy avatar fhemberger avatar gr2m avatar greenkeeperio-bot avatar guria avatar janl avatar lupomontero avatar malixsys avatar maxogden avatar michielbdejong avatar nickcolley avatar nintra avatar potomak avatar rogeriochaves avatar semanticdreamer avatar soupdiver avatar svnlto avatar timblack1 avatar

Watchers

 avatar

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.