GithubHelp home page GithubHelp logo

80000v / startupscampfire Goto Github PK

View Code? Open in Web Editor NEW

This project forked from edenchan/startupscampfire

0.0 2.0 0.0 5.5 MB

使用laravel5.1搭建的创业者社区应用demo

Home Page: http://115.28.40.237/

PHP 18.62% JavaScript 77.29% ApacheConf 0.02% HTML 3.69% CSS 0.39%

startupscampfire's Introduction

基于Laravel5.1的创业者社区Demo

安装说明

  1. 通过git clone获得本项目源码:

运行命令

git clone https://github.com/EdenChan/StartupsCampfire.git
  1. 安装composer依赖 在clone下来的StartupsCampfire文件夹中运行命令
composer install

为提升composer包安装速度建议使用composer**全量镜像,相关信息如下: http://pkg.phpcomposer.com/

上述命令执行完成后, 请在StartupsCampfire文件夹中使用命令

cp .env.example .env

创建项目.env文件(如果处于windows环境下可利用git bash执行上述命令)

随后编辑.env文件进行环境配置 示例结果如下

APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString

DB_HOST=localhost
DB_DATABASE=startupscampfire
DB_USERNAME=root
DB_PASSWORD=root
DB_PREFIX=scamp_(如果通过sql导入方式建立数据库请勿更改表前缀)

CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_COOKIENAME=startupscampfire_session
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

然后运行命令

php artisan key:generate

设定laravel应用所需的key

运行

php artisan vendor:publish

导出composer包配置到本项目中

  1. 安装npm模块 本项目初步尝试使用gulp工具进行前端构建,如有需要可运行命令
npm install

安装相关模块,需要确保已安装nodejs和已全局安装gulp模块,相关信息请见: http://www.gulpjs.com.cn/docs/getting-started/

4)建立数据库 默认使用mysql数据库,请先建立数据库startupscampfire

如需安装示例数据,请将根目录下的startupscampfire.sql文件导入

如仅需表结构,可在composer依赖安装完毕后运行命令

php artisan migrate

进行数据库初始化

5)运行应用 根目录下执行命令

php artisan serve

然后通过浏览器访问地址http://localhost:8000即可

页面预览

前台

访问 http://115.28.40.237/

体验用户 账号eden 密码123456 请尽量不要更改线上数据哈

目前项目暂时部署在阿里云上

前台主要使用bootstrap+flatui构建

后台

访问 http://115.28.40.237/admin

初始管理员 账号admin 密码123456 请尽量不要更改线上数据哈

后台ui采用的是AmazeUI

本项目实现的主要功能

1)前后台分离用户验证

2)前台主要功能: 注册登录、忘记密码、发布动态、申请活动、发布评论、回复评论、 收藏动态、收藏活动、动态/活动/评论点赞 编辑个人信息、关注用户、@提醒、即时消息提示、站内检索、分类导航..

3)后台主要功能: 活动/评论/分类/用户动态管理、活动审核、发布平台活动、 导航管理、首页幻灯片管理、用户管理、站点公告管理..

TODO: 将来考虑加入的功能: 用户分组、私信发送、活动报名、站内信、用户推荐、举报..

另外由于项目时间等等问题,本来考虑使用vuejs完成部分前端内容,但最终还是保持最简单的前端写法,后续会考虑引入一些新的前端技术和利用ajax等方式优化一下前端部分的交互。

项目参考

本项目在实现过程中参考了目前基于laravel的部分项目源码,主要项目有:

https://github.com/summerblue/phphub (phphub网站的源码)

https://github.com/douyasi/yascmf

https://github.com/BootstrapCMS/CMS (代码规范,推荐阅读)

本项目使用的部分composer包:

https://github.com/lazychaser/laravel-nestedset (处理树形结构数据:如无限级分类、导航等)

https://github.com/Sarav-S/Laravel-Multiauth (用户分表验证,可将不同角色用户存到不同的user表中 ,分别进行管理)

https://github.com/andersao/l5-repository (用于Laravel5的Repository抽象包,支持实现Repository层逻辑)

https://github.com/stevenyangecho/laravel-u-editor (百度ueditor富文本编辑器, 如果遇到无法上传图片的问题可以参考这个issue: stevenyangecho/laravel-u-editor#6)

###一些题外话 很早之前就听说了Laravel的大名,最近有空的时候学习了一下这个框架的一些基本用法,利用空余时间断断续续地做了一个月多点的时间,基本把这个项目做成了现在这个样子,主要定位于给Laravel的初学者提供一些使用框架的思路。

和之前接触的一些框架(tp、ci等等)相比,laravel无疑在构建一个更规范的工作流方面做得更加出色,composer支持、好用的Eloquent ORM、好用的Blade模板、好用的Restful路由、方便的Form Request..这些都能减少开发过程中的很多思考时间,使开发者更专注于项目功能的实现。

当然由于我自己的各种经验欠缺问题(今年应届),在这个项目许多实现上还是非常simple和naive的,接下来的时间还是需要更多的思考如何能够更好地解决部件解耦、减少重复和提高代码质量等问题,希望能够和大家交流,向大家好好学习:)

###联系作者

Email:[email protected]

startupscampfire's People

Contributors

edenchan avatar

Watchers

James Cloos avatar 塟愛鎵镞の風仯 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.