分享一个 Laravel5.2 写的简单的报名系统

介绍说明

接触Laravel快半年了,前段时间开始用laravel做点小项目练手.正好母校老师说要成立一个敬文书院,需要做个简单的报名系统.索性就分享出来,顺便聊聊自己的一些见解.希望各位大虾多多支持.

主要功能和扩展
  • 采用laravel自带auth认证,实现前后台的用户登录
  • 采用Laravel-Excel实现后台学生信息的批量导入和导出
  • 采用BootstrapTable实现报名学生和用户的增删改查和排序
  • 采用Entrust实现后台用户的RBAC的权限管理
  • 采用laravel generator实现后台功能的快速生成
  • 采用l5-repository 实现一些模式和思想
  • 一些其他的前端插件,Toastr,dateimepicker,sweetalert,fancybox.......
开发过程中用到的一些技巧

说真的感觉自己作为一名RD有点懒,说的懒是只不想去写前端的东西.其实我们经常会遇到这样的情况,项目经理说今天我们要上一个项目, 然后我们不得不从后台登录,权限验证,注册,字段验证,界面效果等等开始做起。虽然这中间会有很多工资自己开发一套适合自己的通用后台,但是后续的扩展性和便捷性问题依旧解决不掉。我曾经尝试过用TP,CI和YII去开发一个通用的后台,集成一些基本的功能。但是最后都失败了,与其说失败,倒不如说是败给了后续的可扩展性。因为最后你上项目还是无法摆脱前端和UI的困扰,扩展上也不方便。

后来接触到了laravel和phphub社区,感觉思路一下子清晰出来。这期间前端方便借鉴了summer的phphub源码的不少经验,RBAC方便借鉴了Ryan兄的不少经验。于是乎有了现在的一个粗糙的模型。数据库可以利用json文件格式把字段都设计好,然后利用generator几行命令就生成一个后台的CURD,Form的UI上是定制过的,用了select2,dropzone,datetimepicker,toastr等等插件.同时后台有基本的RBAC权限和menu的定制。前后台的登录也已经集成。可以大大节省后台模块上花费的时间,把中心和精力转移到前端业务上去。

index.pngadmin.pngdatatable.pngexcel.pngimport.pngregister.png

注意事项

所有的前端资源和插件都是通过bower安装的,目录在composer安装包的vendor下面。所以需要环境安装node 、npm、gulp等基本插件。

安装步骤

  • sudo npm install -g gulp #全局安装npm
  • sudo npm install -g bower #全局安装bower
  • cd register
  • sudo npm install gulp #在项目本地安装gulp
  • sudo npm install bower #在项目本地安装bower
  • sudp npm install #安装项目Node依赖、Laravel Elixir
在项目根目录新增文件.bowerrc
{
    "directory": "vendor/bower_dl"
}
  • 执行命令 bower init创建文件bower.json
如果是linux 后面加上 --allow-root windows不需要
  • sudo bower install admin-lte --allow-root
  • sudo bower install fontawesome --allow-root
  • sudo bower install ionicons --allow-root
  • sudo bower install https://github.com/smalot/bootstrap-dateti... --allow-root
  • sudo bower install DataTables --allow-root
  • sudo bower install sweetalert --allow-root
  • sudo bower install dropzone --allow-root
  • sudo bower install toastr --allow-root
  • sudo bower install fileupload --allow-root
  • sudo bower install fancybox --allow-root
  • npm install --save-dev gulp-import-css
  • npm install gulp-cssimport
  • npm install gulp-rename
  • gulp copyfiles
  • gulp
  • php artisan migrate
  • php artisan key:generate
  • entrust缓存不支持file和database,所以需要在.env 中把CACHE_DRIVER=file 改为 CACHE_DRIVER=array
  • 火狐中datetmepick的插件会报错,但是其他的插件没有时间选项,解决方法把js文件中this.defaultTimeZone=(new Date()).toString().split("(")[1].slice(0,-1);改为this.defaultTimeZone='GMT '+(new Date()).getTimezoneOffset()/60

项目地址

oschina http://git.oschina.net/GarySource/register
github https://github.com/jiyis/register
generator http://labs.infyom.com/laravelgenerator/

感谢

最后感谢phphub这么好的社区,提供了许多资源。第一次玩markdown,可能不是太漂亮,还望summer君多多担待~~

本帖已被设为精华帖!
本帖由 Summer 于 7年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 22

maatwebsite/excel 好用,赞一个经验分享 :+1:

7年前 评论
Summer

排版不错哈,就是有好多

---

这个线。

7年前 评论

多谢分享 下来学学

7年前 评论

@Summer 是感觉--- 太粗了,我去拿掉吧~~突然感觉markdown真是个好东西 哈哈~

7年前 评论

@thirdriver 感谢支持~其实整个项目算起来最多三天就全部完成了,主要是定制了 generator立功。像是后台的CURD设计好数据库两行命令就出来了。等后面再研究下,成熟了分享出来。

7年前 评论

@tonyboy 感谢~~ 这个Excel扩展包确实好用,就是有些还需要用原生的PHPExcel才能实现,比如插入图片,批量单元格高度这些~

7年前 评论

@jiyis 很赞哦!

7年前 评论

@overtrue 感谢超哥。 期待超哥的laravel课程~~ 哈哈 超哥V587

7年前 评论

@jiyis 互相学习 :heart_eyes:

7年前 评论

很赞,markdown 写得也很好

7年前 评论

laravel generator有什么教程可以推荐下么?

7年前 评论

@LeeC generator 教程没有。我是看的手册,上面那个generator真的很好用,里面有许多模式和思想而且可以定制程序,你可以去看看。教程的话可能过段时间我会出一个试试。

7年前 评论

安装完后账号密码多少啊。 登录不上。

7年前 评论

@iScript 可以用php artisan tinker 重置下密码。

7年前 评论

css样式很好看啊!自己写的么?

7年前 评论

@asdasdaasdas 基本是generator自动生成的,当然类似table和dropzone上传显示预览这种还是需要自己写了。

7年前 评论

@jiyis 好哒,知道啦!:metal:

7年前 评论

很棒很期待哦!:+1:

7年前 评论

安装不上啊,有没有安装的详细说明呀

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!