项目文档编写规范

article/2025/9/18 5:21:22

此文件是 项目文档编写规范 的 readme 编写范例,点击 我要改进 即可查看其 Markdown 内容。

项目概述

  • 产品名称:LaraBBS
  • 项目代号:larabbs
  • 官方地址: https://learnku.com/laravel/t/6592

LaraBBS 是一个简洁的论坛应用,使用 Laravel5.5 编写而成。一步步开发此项目的教程请见 《Web 开发实战进阶 - 从零开始构建论坛系统》 。

功能如下

  • 用户认证 —— 注册、登录、退出;
  • 个人中心 —— 用户个人中心,编辑资料;
  • 用户授权 —— 作者才能删除自己的内容;
  • 上传图片 —— 修改头像和编辑话题时候上传图片;
  • 表单验证 —— 使用表单验证类;
  • 文章发布时自动 Slug 翻译,支持使用队列方式以提高响应;
  • 站点『活跃用户』计算,一小时计算一次;
  • 多角色权限管理 —— 允许站长,管理员权限的存在;
  • 后台管理 —— 后台数据模型管理;
  • 邮件通知 —— 发送新回复邮件通知,队列发送邮件;
  • 站内通知 —— 话题有新回复;
  • 自定义 Artisan 命令行 —— 自定义活跃用户计算命令;
  • 自定义 Trait —— 活跃用户的业务逻辑实现;
  • 自定义中间件 —— 记录用户的最后登录时间;
  • XSS 安全防御;

运行环境要求

  • Nginx 1.8+
  • PHP 7.0+
  • Mysql 5.7+
  • Redis 3.0+
  • Memcached 1.4+

开发环境部署/安装

本项目代码使用 PHP 框架 Laravel 5.5 开发,本地开发环境使用 Laravel Homestead 。

下文将在假定读者已经安装好了 Homestead 的情况下进行说明。如果您还未安装 Homestead,可以参照 Homestead 安装与设置 进行安装配置。

基础安装

1. 克隆源代码

克隆 larabbs 源代码到本地:

> git clone git@github.com:summerblue/larabbs.git

2. 配置本地的 Homestead 环境

1). 运行以下命令编辑 Homestead.yaml 文件:

homestead edit

2). 加入对应修改,如下所示:

folders:- map: ~/my-path/larabbs/ # 你本地的项目目录地址to: /home/vagrant/larabbssites:- map: larabbs.testto: /home/vagrant/larabbs/publicdatabases:- larabbs

3). 应用修改

修改完成后保存,然后执行以下命令应用配置信息修改:

homestead provision

随后请运行 homestead reload 进行重启。

3. 安装扩展包依赖

composer install

4. 生成配置文件

cp .env.example .env

你可以根据情况修改 .env 文件里的内容,如数据库连接、缓存、邮件设置等:

APP_URL=http://larabbs.test
...
DB_HOST=localhost
DB_DATABASE=larabbs
DB_USERNAME=homestead
DB_PASSWORD=secretDOMAIN=.larabbs.test

5. 生成数据表及生成测试数据

在 Homestead 的网站根目录下运行以下命令

$ php artisan migrate --seed

初始的用户角色权限已使用数据迁移生成。

7. 生成秘钥

php artisan key:generate

8. 配置 hosts 文件

echo "192.168.10.10   larabbs.test" | sudo tee -a /etc/hosts

前端框架安装

1). 安装 node.js

直接去官网 https://nodejs.org/en/ 下载安装最新版本。

2). 安装 Yarn

请安装最新版本的 Yarn —— http://yarnpkg.cn/zh-Hans/docs/install

3). 安装 Laravel Mix

yarn install

4). 编译前端内容

// 运行所有 Mix 任务...
npm run dev// 运行所有 Mix 任务并缩小输出..
npm run production

5). 监控修改并自动编译

npm run watch// 在某些环境中,当文件更改时,Webpack 不会更新。如果系统出现这种情况,请考虑使用 watch-poll 命令:npm run watch-poll

链接入口

  • 首页地址: http://larabbs.test/
  • 管理后台: http://larabbs.test/admin

管理员账号密码如下:

username: summer@learnku.com
password: password

至此, 安装完成 ^_^。

服务器架构说明

这里可以放一张大大的服务器架构图,下面是个例子:

file

上图使用工具 ProcessOn 绘制。

扩展包使用情况

扩展包 一句话描述 本项目应用场景
Intervention/image 图片处理功能库 用于图片裁切
guzzlehttp/guzzle HTTP 请求套件 请求百度翻译 API
predis/predis Redis 官方首推的 PHP 客户端开发包 缓存驱动 Redis 基础扩展包
barryvdh/laravel-debugbar 页面调试工具栏 (对 phpdebugbar 的封装) 开发环境中的 DEBUG
spatie/laravel-permission 角色权限管理 角色和权限控制
mewebstudio/Purifier 用户提交的 Html 白名单过滤 帖子内容的 Html 安全过滤,防止 XSS 攻击
hieu-le/active 选中状态 顶部导航栏选中状态
summerblue/administrator 管理后台 模型管理后台、配置信息管理后台
viacreative/sudo-su 用户切换 开发环境中快速切换登录账号
laravel/horizon 队列监控 队列监控命令与页面控制台 /horizon

自定义 Artisan 命令

命令行名字 说明 Cron 代码调用
larabbs:calculate-active-user 生成活跃用户 一小时运行一次
larabbs:sync-user-actived-at 从 Redis 中同步最后登录时间到数据库中 每天早上 0 点准时

队列清单

名称 说明 调用时机
TranslateSlug.php 将话题标题翻译为 Slug TopicObserver 事件 saved()
TopicReplied.php 通知作者话题有新回复 话题被评论以后

参考 https://learnku.com/docs/laravel-specification/7.x/readme-examplemd/7614


http://chatgpt.dhexx.cn/article/nhOwe1WW.shtml

相关文章

项目文档管理

项目文档管理&#xff08;Project Documents Management&#xff09; 目录 [隐藏 ] 1 项目文档管理的概述 2 文档管理在项目进程中的重要作用 3 如何建立项目文档管理规定 4 参考文献 <script type"text/javascript"> if (window.showTocToggle) { var …

项目文档如何管理?

在项目进行过程中&#xff0c;会产生很多相关文档文件。通常会散落的分布在不同员工的设备中以及聊天记录中&#xff0c;这种管理方式不仅增大了文件丢失的风险&#xff0c;而且不利于团队文件协作&#xff0c;以及项目经验知识沉淀。 项目文件的管理是项目管理中不可缺少的一…

项目部署文档

1.前提环境 名称版本jdkjdk1.7(建议不要超过1.8)mysql5.7tomcat7(建议不要超过8) 输入 java -version出现如下为jdk安装成功 2.Java环境安装与配置 参见&#xff1a;https://www.linuxidc.com/Linux/2017-01/139212.htm 3.Tomcat安装部署说明 以使用提供的tomcat为例tar z…

如何写项目文档?项目文档有哪些?

软件新人经常问我一个项目应该到底有哪些文档&#xff0c;在此结合工作实际把我一般形成的文档作一列表&#xff0c;仅供诸位参考。 一、项目立项建议书 项目立项建议书主要用于分析项目要求与各种资源是否能够匹配&#xff0c;用来决策层决定是否最终立项。 主要要素包括&…

synplify成功运行起designware的方法,巨坑

因为手头FPGA是zynq ultrascale。所以更新了synplify到2019版本。手里的项目必须要用designware来做验证。各种研究&#xff0c;填了N多的坑。终于搞定。 先说原理&#xff1a; 1. 电脑上有design compile&#xff0c;license各种都搞定&#xff0c;dw库可用。可以装在虚拟机…

VIVADO2018与SYNPLIFY联合使用

VIVADO2018与SYNPLIFY联合使用 1、synplify生成网表文件.edf ①新建工程&#xff0c;设置所选的FPGA型号。 ②添加源文件&#xff0c;可以源文件&#xff0c;也可以是包括很多源文件的文件列表&#xff08;.v/.sv&#xff09;。 ③根据需要添加约束文件.fdc。 ④点击RUN生成网…

ModelSim,synplify,ISE后仿真流程

首先&#xff0c;我把我用到的软件说明一下。如果你发现根据我的操作&#xff0c;你还是解决不了ModelSim后仿真的问题&#xff0c;那就可能是软件版本的问题。 1&#xff0c; ModelSim Se 6.1b 2&#xff0c; Synplify Pro 7.5.1 3&#xff0c; ISE 5.2i &#xff08;这个…

Python 中的Sympy详细介绍

Python 中的Sympy详细使用 遇到复杂计算找python绝对不让你失望&#xff0c;sympy是一个Python的科学计算库&#xff0c;用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题。虽然Matlab的类似科学计算能力也很强…

如何使用synplify综合ISE Core Generate生成的IP核

Xilinx的ISE软件有自带的综合工具XST&#xff0c;但是我们有时候需要使用第三方的综合工具&#xff08;例如Synopsys的Synplify Pro,Synplify Primier&#xff0c;其中&#xff0c;Synplify Primier可以综合synopsys的DesignWare库&#xff09;&#xff0c;这时候就需要在synpl…

synplify 9.6.2 download

现在这种工具太难找了&#xff0c;找了一上午才搞定&#xff1b;唉&#xff0c;还是贡献出来吧&#xff0c;最好别被河蟹掉 链接&#xff1a;http://pan.baidu.com/s/1pJv7ovx 密码&#xff1a;um2k 里面的破解方法有点问题&#xff0c; 一、install exe&#xff0c;选Fl…

如何破解Synplify Pro 9.6.2? (SOC) (Synplify)

软件安装与注意事项如下&#xff1a; Introduction Step 1&#xff1a; 安裝Synplify Pro Step 2&#xff1a; 選擇Floating (License is on a license server) Step 3&#xff1a; 稍後會設定SYNPLCTYD_LICENSE_FILE&#xff08;我认为是LM_LICENSE_FILE&#xff09;系統變數&…

lattice 的Synplify pro综合工具,以及RTL寄存器查看

对于diamond来说&#xff0c;查看RTL级的示图时&#xff0c;必须以LSE&#xff08;自带的综合工具&#xff09;来编译综合代码。 而经常会出现Synplify pro编译通过&#xff0c;LSE编译出现bug的情况&#xff0c;所以用LSE编译代码&#xff0c;总不让人放心。 默认使用Synpli…

Synaplify综合的常用命令(1)

在芯片设计中大都绕不开用Synaplify来对数字代码进行综合&#xff0c;特别是在大系统中&#xff0c;资源很多&#xff0c;这样会导致FPGA中的资源不够用&#xff0c;就需要我们在综合中加一些限定来解决一些问题&#xff0c;这篇文章先介绍一些自己遇到的和资源相关的问题以及相…

ISE工程导入Vivado

在介绍工程模式下的设计方式时&#xff0c;提到了Vivado一个选项Imported Project能够导入本由synplify、xst或者ISE设计套件所创建的RTL工程数据。参见&#xff1a;https://blog.csdn.net/qq_26652069/article/details/91562652 下面尝试将ISE中的一个实现UART回显的工程导入…

Synaplify综合报错Signal 011 error in m_xilinx

在用Synaplify2020的版本综合的时候会报出错误&#xff0c;E:Internal Error in m_xilinx Stack trace或者是Signal 011 error in m_xilinx Stack trace。乍一看像是环境问题&#xff0c;其实是你的代码里面用到的ram的问题&#xff0c;当然也可能是rom的问题&#xff0c;总之和…

Synaplify综合Removing

记录一下用Synaplify综合出现的Removing警告问题&#xff0c;在用Synaplify综合的时候&#xff0c;你可能综合完之后发现有的port不见了&#xff0c;或者instance不见了&#xff0c;这都是很常见的问题&#xff0c;这个时候你只要去搜索log关键词Removing&#xff0c;再和你要找…

Vivado与Synplify联合设计FPGA

这篇文章主要记录近几天在使用Vivado以及Synplify工具进行FPGA的Synthesis、Implementation、以及BitStream出现的相关问题。 一、工具使用 RTL代码编辑&#xff1a;修改Vivido内置编辑器为VSCode编辑器&#xff0c;个人习惯&#xff0c;偏好VSCode。修改内置编辑器&#xff…

如何使用Synplify综合vivado带IP核的工程

文章目录 使用Synplify综合的好处synplify的教程方法1&#xff08;无效&#xff09;方法2 VIVODO工程遇到的问题 使用Synplify综合的好处 下面的说法来自网上&#xff1a; 综合时间更好&#xff0c;综合出来所使用的逻辑更少综合的时序更好 在IC设计中&#xff0c;使用Synplif…

Oracle分析函数取平均值,7-oracle_分析函数(一)

1.分组聚合函数 聚合函数主要有求和&#xff1a;sum()&#xff1b;最大数&#xff1a;max()&#xff1b;最小数&#xff1a;min()&#xff1b;平均值&#xff1a;avg()&#xff1b;统计数&#xff1a;count()等&#xff0c;在应用此类函数的时候&#xff0c;要么是从全集合来看…

oracle分析函数-RATIO_TO_REPORT() OVER()

1、RATIO_TO_REPORT()为比例函数 2、创建测试表&#xff0c;并插入数据 CREATE TABLE TEST_V( DEPTNO VARCHAR2(10), NAME VARCHAR2(10), SAL NUMBER ); 3、实例1&#xff1a;要求计算各部门工资合计&#xff0c;以及该工资合计占总工资的比例&#xff1a; SELECT TT.DEPT…