[ANN] Bamboo 1.0 release, a lua MVC web development framework

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] Bamboo 1.0 release, a lua MVC web development framework

Tang Daogang
Dear friends,

I'm glad to announce the first release of Bamboo - v1.0. It took a
long time to prepare but now it may be ready to be tested so that I
can get some feedbacks.

## Features

- Bamboo is a MVC framework;
- cooperates with mongrel2, zeromq and redis;
- stateless handler;
- powerful views rendering engine;
- a strict single inheritance OOP model style;
- use a lua table as the main URL router;
- in each module, there can be another URL router related to this module (URL moduled);
- project init(), finish(); module init(), finish(); 
- a whole set of filter system for handler function;
- flexible ORM wrapper, specific to redis;
- powerful MVM (model-to-view mapping) function;
- decorators on database related actions, to reduce manual code;
- builtin User, Group and Permission models and a set of permission checking procedure;
- builtin test framework (based on telescope).


You can find installation method and the documentation for Bamboo here:

https://github.com/daogangtang/bamboo

You can refer:

https://github.com/daogangtang/bamboo/blob/master/README.md

to get more info about it.

The install method is at:
https://github.com/daogangtang/bamboo/blob/master/doc/0.INSTALL.md

The installer script is hosted on Google Code:

http://code.google.com/p/bamboo-installer/downloads/list

http://bamboo-installer.googlecode.com/files/BAMOO_INSTALL_v1.0.tar.gz


Best regards,
Daogang Tang


--
Nothing is impossible.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Bamboo 1.0 release, a lua MVC web development framework

Victor Young
Great job!

2011/11/11 Tang Daogang <[hidden email]>
Dear friends,

I'm glad to announce the first release of Bamboo - v1.0. It took a
long time to prepare but now it may be ready to be tested so that I
can get some feedbacks.

## Features

- Bamboo is a MVC framework;
- cooperates with mongrel2, zeromq and redis;
- stateless handler;
- powerful views rendering engine;
- a strict single inheritance OOP model style;
- use a lua table as the main URL router;
- in each module, there can be another URL router related to this module (URL moduled);
- project init(), finish(); module init(), finish(); 
- a whole set of filter system for handler function;
- flexible ORM wrapper, specific to redis;
- powerful MVM (model-to-view mapping) function;
- decorators on database related actions, to reduce manual code;
- builtin User, Group and Permission models and a set of permission checking procedure;
- builtin test framework (based on telescope).


You can find installation method and the documentation for Bamboo here:

https://github.com/daogangtang/bamboo

You can refer:

https://github.com/daogangtang/bamboo/blob/master/README.md

to get more info about it.

The install method is at:
https://github.com/daogangtang/bamboo/blob/master/doc/0.INSTALL.md

The installer script is hosted on Google Code:

http://code.google.com/p/bamboo-installer/downloads/list

http://bamboo-installer.googlecode.com/files/BAMOO_INSTALL_v1.0.tar.gz


Best regards,
Daogang Tang


--
Nothing is impossible.


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Bamboo 1.0 release, a lua MVC web development framework

Norbert Kiesel
In reply to this post by Tang Daogang
On Fri, 2011-11-11 at 11:12 +0800, Tang Daogang wrote:
> Dear friends,
>
> I'm glad to announce the first release of Bamboo - v1.0. It took a
> long time to prepare but now it may be ready to be tested so that I
> can get some feedbacks.

Thanks, I will for sure check it out.  Some remarks:
1) would be good to have the links to the installation steps in the
README.md
2) I already have libgd-xpm installed and the installer tries (and
fails) to blindly install the noxpm variant.
3) Some of the luarocks installs (e.g. md5) are also available as
Debian/Ubuntu packages, and I have some of them installed already (and
normally prefer packages over hand-installed components)

I will go through the install script manually and see if I get it
working, but having everything available as .debs would of course be
much nicer (I know, lots of work...)

</nk>



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Bamboo 1.0 release, a lua MVC web development framework

Tang Daogang
hi, Norbert,

Thanks for your suggestions.

On Sat, Nov 12, 2011 at 7:20 AM, Norbert Kiesel <[hidden email]> wrote:
On Fri, 2011-11-11 at 11:12 +0800, Tang Daogang wrote:
> Dear friends,
>
> I'm glad to announce the first release of Bamboo - v1.0. It took a
> long time to prepare but now it may be ready to be tested so that I
> can get some feedbacks.

Thanks, I will for sure check it out.  Some remarks:
1) would be good to have the links to the installation steps in the
README.md

I'll modify it soon.
 
2) I already have libgd-xpm installed and the installer tries (and
fails) to blindly install the noxpm variant.

You can also install libgd-xpm, maybe I'd better use this package to replace libgd-noxpm.
 
3) Some of the luarocks installs (e.g. md5) are also available as
Debian/Ubuntu packages, and I have some of them installed already (and
normally prefer packages over hand-installed components)

I will go through the install script manually and see if I get it
working, but having everything available as .debs would of course be
much nicer (I know, lots of work...)

I think you're right. And I post installation directives here for your referring.

-- version define
local PREDEFINED = {
    LUA = "lua5.1",
    ZEROMQ = "zeromq-2.1.9",
    LIBLUA = "liblua5.1-0",
    SQLITE = "sqlite3",
    LIBSQLITE = "libsqlite3",
    MONGREL2 = "mongrel2-1.7.5",
    REDIS = "redis-2.2.13",
    LUAGD = "lua-gd-2.0.33r2",
    LUALIB_PATH = "/usr/local/lib/lua/5.1",
    LUASHARE_PATH = "/usr/local/share/lua/5.1",
}

-- directives
local DIRECTIVES = {
    -- install system dependencies
    'sudo apt-get install build-essential',
    'sudo apt-get install ${LIBLUA} ${LIBLUA}-dev luarocks',
    'sudo apt-get install uuid-dev ${SQLITE} ${LIBSQLITE}-dev git-core',
    'sudo apt-get install libgd2-noxpm libgd2-noxpm-dev',
   
    -- create basic directories
    'sudo mkdir -p /usr/local/share/lua/5.1/',
    'sudo mkdir -p /usr/local/lib/lua/5.1/',   
   
    -- install source code
    'tar xvf tars/${ZEROMQ}.tar.gz && cd ${ZEROMQ} && ./configure && make && sudo make install && sudo ldconfig && cd ..',
    'tar xvf tars/${MONGREL2}.tar.bz2 && cd ${MONGREL2} && make && sudo make install && cd ..',
    'tar xvf tars/${REDIS}.tar.gz && cd ${REDIS} && make && sudo make install && cd .. && sudo cp -af configs/redis.conf /etc/',
    'tar xvf tars/${LUAGD}.tar.gz && cd ${LUAGD} && make && sudo cp -af gd.so ${LUALIB_PATH} && cd ..',
    'sudo cp -af configs/luarocks_config.lua /etc/luarocks/config.lua',
    'sudo mkdir -p /var/db/ && sudo chmod -R 777 /var/db/',
   
    -- install rocks
    'sudo luarocks  install lpeg ',
    'sudo luarocks  install lsqlite3 ',
    'sudo luarocks  install lua_signal ',
    'sudo luarocks  install lunit ',
    'sudo luarocks  install luajson ',
    'sudo luarocks  install luaposix ',
    'sudo luarocks  install luasocket ',
    'sudo luarocks  install md5 ',
    'sudo luarocks  install telescope ',
   
    -- install git source code
    'cd ~ && mkdir -p GIT',
    'cd ~/GIT && git clone git://github.com/iamaleksey/lua-zmq.git && cd lua-zmq && make && sudo cp -af zmq.so ${LUALIB_PATH}/',
    'cd ~/GIT && git clone git://github.com/jsimmons/mongrel2-lua.git && sudo ln -sdf  ~/GIT/mongrel2-lua/mongrel2  ${LUASHARE_PATH}/',
    'cd ~/GIT && git clone git://github.com/nrk/redis-lua.git && sudo ln -sf ~/GIT/redis-lua/src/redis.lua  ${LUASHARE_PATH}/',
    'cd ~/GIT && git clone git://github.com/jsimmons/tnetstrings.lua.git && sudo ln -sf ~/GIT/tnetstrings.lua/tnetstrings.lua ${LUASHARE_PATH}/',
    'cd ~/GIT && git clone git://github.com/daogangtang/lglib.git && sudo ln -sdf ~/GIT/lglib/src ${LUASHARE_PATH}/lglib',
    'cd ~/GIT && git clone git://github.com/daogangtang/bamboo.git && sudo ln -sdf ~/GIT/bamboo/src ${LUASHARE_PATH}/bamboo',
    'sudo ln -sf ${LUASHARE_PATH}/bamboo/bin/bamboo /usr/local/bin/',
    'sudo ln -sf ${LUASHARE_PATH}/bamboo/bin/bamboo_handler /usr/local/bin/',
   
    -- create workspace directory and global bamboo setting file workspace/settings.lua
    [[ cd ~ && mkdir -p workspace && echo monserver_dir = \"$(pwd)/workspace/monserver/\" >> settings.lua && echo bamboo_dir = \"$(pwd)/GIT/bamboo/\" >> settings.lua  ]],
    [[ cd ~/workspace && mkdir -p monserver && cd monserver && mkdir -p conf logs run sites tmp sites/apptest ]],
    [[ cp -af configs/mongrel2.conf ~/workspace/monserver/conf/ ]],
   
}

 
</nk>






--
Nothing is impossible.