UNPKG

3.27 kBMarkdownView Raw
1lemonade
2=========
3[![Build Status](https://travis-ci.org/runlevel3/lemonade.png)](https://travis-ci.org/runlevel3/lemonade)
4[![Dependency Status](https://gemnasium.com/runlevel3/lemonade.png)](https://gemnasium.com/runlevel3/lemonade)
5
6Jump to [documentation](https://github.com/runlevel3/lemonade/wiki/)
7
8## api framework
9Lemonade is a nodejs framework designed to be used for backend apis. Emphasis is put on software adaptors, logging and communication via a serialized (jsoned) objects.
10
11## abstract wrappers
12Access to different software is essential when building a backend api. Lemonade tries to provide access to multiple software using abstract wrappers. No hassle about choosing an adaptor or refactoring parts of your application once an adaptor changes.
13
14Adaptors built into lemonade : [mysql](https://github.com/runlevel3/lemonade/wiki/mysql), [cassandra](https://github.com/runlevel3/lemonade/wiki/cassandra), [rabbitmq](https://github.com/runlevel3/lemonade/wiki/rabbitmq), [solr](https://github.com/runlevel3/lemonade/wiki/solr)
15
16Custom adaptors can be easily built or existing ones overloaded : [creating and overloading links](https://github.com/runlevel3/lemonade/wiki/links)
17
18## built in daemons
19Lemonade comes with built in [http daemon](https://github.com/runlevel3/lemonade/wiki/httpd) and [spinner daemon](https://github.com/runlevel3/lemonade/wiki/spinner) (crontab).
20
21## simple mvc structure
22Application logic is structured on the mvc model. [Controllers](https://github.com/runlevel3/lemonade/wiki/mvc#controllers) should handle input data and [models](https://github.com/runlevel3/lemonade/wiki/mvc#models) will be used to interact with the internal adaptors.
23
24## graceful shutdown and restart
25All daemons and adaptors are built with unload methods, so a graceful application shutdown and restart can be initiated at any time (sigterms can be used) : [shutdown](https://github.com/runlevel3/lemonade/wiki/shutdown)
26
27## source file supervising
28Lemonade can be started using the --watch-changes option. This will launch a watcher on the application directory which will gracefully restart the app once the sources change.
29
30## standardized object structure and inclusion
31All objects are overloaded when created with references to the main object (kernel) and to the instance object (if present). Objects can be created as singletons.
32
33## documentation
34* [process flow](https://github.com/runlevel3/lemonade/wiki/flow)
35* [getting started](https://github.com/runlevel3/lemonade/wiki/getting-started)
36* [including files, creating objects](https://github.com/runlevel3/lemonade/wiki/including-files)
37* [application mvc](https://github.com/runlevel3/lemonade/wiki/mvc)
38* [links](https://github.com/runlevel3/lemonade/wiki/links)
39 * [mysql](https://github.com/runlevel3/lemonade/wiki/mysql)
40 * [solr](https://github.com/runlevel3/lemonade/wiki/solr)
41 * [cassandra](https://github.com/runlevel3/lemonade/wiki/cassandra)
42 * [rabbitmq](https://github.com/runlevel3/lemonade/wiki/rabbitmq)
43* daemons
44 * [httpd](https://github.com/runlevel3/lemonade/wiki/httpd)
45 * [spinner](https://github.com/runlevel3/lemonade/wiki/spinner)
46* [kernel](https://github.com/runlevel3/lemonade/wiki/kernel)
47
48