Skip to content
forked from bigmaliang/cmoon

Something stupid about web written in C (mvc framework, trace, db, data backend, application ...).

Notifications You must be signed in to change notification settings

xiangyuan/cmoon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

目录结构
=======

moon/
|-- Make.env    编译相关宏定义
|-- Makefile    编译文件
|-- maketool    编译辅助工具
|-- mtools      常用管理脚本
|-- doc         文档目录(杂七杂八)
|-- res         设计资源(杂七杂八)
|-- lib         内部公共库文件目录
|
|-- event       支持插件的高并发处理缓冲层后台, 详情请参考该目录文档和代码
|-- deliver     web push 解决方案 (参考 deliver/README)
|-- eii         中文分词工具(暂无内容)
|-- grabber     获取邮件, msn, qq 好友方案
|
|-- regae       应用初始框架(skeleton)
|-- ksa         应用: www.kosherall.com.cn 内容(moon 支持同时多个项目的开发:)
!-- pop         应用: www.bomdoo.com 播豆网
|-- dida        应用: www.dididada.org
|
`-- memorypark  已作废应用(墓地)
    |-- funk    www.regae.com 送菜网(建设中。。。(暂作废))
    |-- ksc     DEPRECATED
    `-- rock    DEPRECATED



开发环境
======

[# useradd -d /opt -g code -N forge]
# mkdir -p /var/log/moon/ && chmod 777 /var/log/moon/
$ git clone git://github.com/bigml/cmoon.git


系统安装
------
    Debian                                      RedHat
    apt-get install locales
    dpkg-reconfigure locales
    git
    git-core                                    git.i386
    lighttpd
    spawn-fcgi                                  spawn-fcgi.i386
    postgresql                                  postgresql-server.i386
    libpq-dev                                   postgresql84-devel.i386
    libevent-dev                                libevent-devel.i386
    libfcgi-dev                                 fcgi-devel.i386 (http://www.fastcgi.com/dist/fcgi.tar.gz)
    libmemcached-dev                            libmemcached-devel.i386
    libjson0-dev                                https://github.com/jehiah/json-c

/usr/local/src/ 目录下手动安装
---------------------------
    clearsilver     http://clearsilver.googlecode.com/svn/trunk/ clearsilver (clearsilver代码需稍作修改,参考lib/modified_3rdlib)
                    depend on streamhtmlparser http://streamhtmlparser.googlecode.com/svn/trunk/ streamhtmlparser
                    ./autogen.sh --disable-wdb --disable-perl --disable-ruby --disable-java --disable-python && mkdir libs && make
    eMail           git://github.com/bigml/eMail.git
                    depend on dlib git://github.com/deanproxy/dlib.git
    discount        git://github.com/Orc/discount.git

js第三方库,自己在moon/lib/js/下checkout
------------------------------------
    jquerytools     git://github.com/jquerytools/jquerytools.git
    flot            svn checkout http://flot.googlecode.com/svn/trunk/ flot
    cycle           git://github.com/malsup/cycle.git
    noty            git://github.com/needim/noty.git
    markitup        git://github.com/bigml/1.x.git markitup
    jqueryuploader  git://github.com/bigml/jqueryUploader.git


依赖路径写在 Make.env 中, 如果装好上面软件后还出现编译错误, 请自行修改 Make.env 之 DEPEND LIBRARY 部分.

能编译通过后,请参考应用 doc/system.txt 文档准备数据库和 web 服务器环境,便可以开始开发。



新建项目(应用)
===========
I 在moon内部新建
-------------
    1, cp regae NEWPROJ
    2, cd NEWPROJ; sed -i 's/voov/PROJNAME/g' `grep -rl voov .`
    3, find -name '*voov*'; rename them
    4, mkdir -p /var/log/moon/NEWPROJ/; chmod 777 /var/log/moon/NEWPROJ/

II 在moon外部引用
--------------
    1, 拷贝 regae 目录至需要的 NEWPROJ
    2, 修改 NEWPROJ//Make.env 之 BASEDIR 路径,指向 moon 所在目录
    3, cd NEWPROJ 修改以下文件和目录的连接路径,指向 moon 所在目录
    	./fly/js/pub
    	./fly/css/pub
    	./xport/daemon
    	./xport/plugin/mevent_plugin.h
    	./xport/plugin/mevent_skeleton.c
    	./xport/plugin/mevent_skeleton.h
    	./xport/test/stats.c
    	./xport/test/timer.h



注:
==

1. use 4 spaces as TAB, set (setq-default indent-tabs-mode nil) in ~/.emacs
2. RESERVED key in request url
    /json/xxx: output json
    /image/xxx: output image
    _op: add, mod, del for ...
    _nmax: max number
    _nmin: min number
    _ntt: total number
    _nst: start number
    _npg: page number (_nst will overwrite _npg)
    _npp: number perpage
    _type_xx: 请求中包含对象时,_type_xxx: 'object' 让 viki 将xxx当作对象解析

ADD /json/zero/image 上传图片
    _upfile_data_type: 说明上传文件的数据类型
        text    文本文件,对应js的 readAsText(file)
        binstr  二进制流,对应js的 readAsBinaryString(file)
        dataurl base64编码过的字符串,确保 url 传输安全,对应js的 readAsDataURL(file)

About

Something stupid about web written in C (mvc framework, trace, db, data backend, application ...).

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Emacs Lisp 58.6%
  • C 21.1%
  • JavaScript 10.8%
  • Objective-C 8.6%
  • Shell 0.6%
  • PHP 0.3%