# InterflowAfterClass **Repository Path**: spl/InterflowAfterClass ## Basic Information - **Project Name**: InterflowAfterClass - **Description**: 作业性质的小项目,一个在校学生正式课堂以外的交流平台(网站) - **Primary Language**: PHP - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2014-10-02 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目说明 ## 备注 * 后台基于[Laravel](http://www.golaravel.com) 4.2.x构建,前端UI基本构件基于[Twitter Bootstrap](http://www.bootcss.com),JS代码的模块化基于[RequireJS](http://requirejs.org) * 登陆后用户操作页面基于 [AngularJS](https://angularjs.org) 构建 * 后台的依赖管理基于Composer,前端则基于npm和bower * 为避免冲突和保护开发者信息,建议在命令行中使用下列指令( ** 但也可以使用多环境配置,参考 [这里](http://v4.golaravel.com/docs/4.2/configuration#environment-configuration) ** ) * `git update-index --assume-unchanged app/config/mail.php` * `git update-index --assume-unchanged app/config/database.php` * 上述指令将假定文件无改动(仅可作用于版本库中已存在的文件),如要取消则执行下列指令: * `git update-index --no-assume-unchanged app/config/mail.php` * `git update-index --no-assume-unchanged app/config/database.php` ## 初始化步骤 **为成功初始化,必须安装[Composer](https://getcomposer.org)、[Bower](http://bower.io)、[Node.js](http://nodejs.org)环境** **推荐使用Laravel官方提供的 [Vagrant箱子](http://v4.golaravel.com/docs/4.2/homestead)** * 安装相关的依赖组件: * `composer install` * `bower install` * 设置数据库链接 * 在文件`bootstrap/start.php`中, 找到`$env = $app->detectEnvironment` * `homestead` 处填入主机名(Unix/Linux下输入hostname可获得),在`app/config/`文件夹下对应的`local`文件夹的选项为个人配置项目,会覆盖`config`下的默认配置 * 在个人配置文件夹中或`app/config`下找到`database.php`即为数据库链接配置文件(推荐使用MySQL或SQLite) * 更多信息参考 [这里](http://v4.golaravel.com/docs/4.2/configuration) * 数据库初始化 * `php artisan migrate` * `php artisan db:seed` * 注意:seeder中带有Test字样的数据并不会在统一填充时加入,仅用于测试 * 在版本更新时可使用 `php artisan migrate:refresh --seed`来更新数据库 * 前端代码的构建 * 注意,当Laravel的环境配置为debug为关闭时,不需要执行Grunt也可以运行站点,但开启后默认加载构建后文件(此时需要构建) * 前端项目的构建基于[Grunt](http://www.gruntjs.net), 执行`npm install`安装项目所需依赖(具体参看`package.json`文件): * grunt 与 grunt-* 用于构建前端的CSS文件和JS文件 * karma 与 karma-* 用于前端的自动化测试 * 安装完依赖后,执行:`grunt` 实施构建 ## 参与开发 * 目录结构描述 * 基本结构遵循Laravel的默认设置(即通过Composer安装Laravel依赖之后 * 通过npm所安装的模块(非全局),位于 /node_modules * 通过bower安装的模块(非全局),位于 /public/packages/bower/ * 本项目的自定义抽象类,位于 /app/libraries * 可通过在 /app/start/global.php 中的 ClassLoader 实现加载 * 也可以通过PHP Composer提供的加载功能实现(建议使用PSR-4) * 在项目中应用时使用Laravel的IoC容器 * 静态资源,如CSS/HTML/JS文件,存放于 /public/ 下的相应文件夹中 * 除初始化提及的环境依赖之外,项目前端使用[Jasmine](http://jasmine.github.io)作为单元测试框架,[SQLite](http://www.sqlite.org)则用于后台的单元测试 * 更多信息请参考[项目Wiki](https://git.oschina.net/spl/InterflowAfterClass/wikis/Home)