All Projects → yikeio → api.yike.io

yikeio / api.yike.io

Licence: other
一刻社区后端 API 源码

Programming Languages

PHP
23972 projects - #3 most used programming language
Vue
7211 projects
HTML
75241 projects

Projects that are alternatives of or similar to api.yike.io

Kunena Forum
Kunena Forum - Forum / Bulletin Board / Discussions component for Joomla - This is the 5.x main development branch. Please do not open issues regarding earlier versions of Kunena
Stars: ✭ 1,643 (+61.24%)
Mutual labels:  forum, discussions
forum
A basic Django forum app with metaposts; uses redis for stats/tracking
Stars: ✭ 25 (-97.55%)
Mutual labels:  forum
laravel-passport-socialite
The missing social authentication plugin (i.e. SocialGrant) for laravel passport.
Stars: ✭ 50 (-95.09%)
Mutual labels:  laravel-passport
lumen-lighthouse-graphql
Lumen example use of a GraphQL PHP server using Lighthouse package
Stars: ✭ 31 (-96.96%)
Mutual labels:  laravel-passport
zusam
Private groups to share messages, photos, videos, links with friends and family.
Stars: ✭ 79 (-92.25%)
Mutual labels:  forum
security-starter
Security starter is a full implementation of laravel/passport and heloufir/simple-passport, containing all the implementations of the authentication and forgot password systems, which allows you to start your project from a good foundation, and only worry about the business logic of your application.
Stars: ✭ 31 (-96.96%)
Mutual labels:  laravel-passport
ConsiderIt
For deliberation and opinion visualization
Stars: ✭ 62 (-93.92%)
Mutual labels:  forum
forum
📄 Fórum da Webschool - Fórum para reunir discussões sobre desenvolvimento Full-Stack.
Stars: ✭ 14 (-98.63%)
Mutual labels:  forum
physics-is-beautiful
Files for Physics Is Beautiful Website
Stars: ✭ 12 (-98.82%)
Mutual labels:  forum
cakephp-forum
Forum plugin for CakePHP
Stars: ✭ 23 (-97.74%)
Mutual labels:  forum
bitnami-docker-phpbb
Bitnami Docker Image for phpBB
Stars: ✭ 33 (-96.76%)
Mutual labels:  forum
laravel-vue-boilerplate
Laravel Vue SPA Sanctum
Stars: ✭ 37 (-96.37%)
Mutual labels:  laravel-vue-spa
chitchat
chitchat driven by golang
Stars: ✭ 98 (-90.38%)
Mutual labels:  forum
wordpress-vanilla
Official WordPress plugin for Vanilla Forums integration.
Stars: ✭ 18 (-98.23%)
Mutual labels:  forum
staticfuzz
Memories which vanish
Stars: ✭ 15 (-98.53%)
Mutual labels:  forum
porter
Export legacy forums into a format Vanilla Forums can import.
Stars: ✭ 39 (-96.17%)
Mutual labels:  forum
flask-demo
一个使用Flask、SQLAlchemy、Mysql、Bootstrap开发的社区,实现了注册、登录、写文章、加标签、关注标签、喜爱文章、关注人、评论、评论点赞、消息通知等基本的社区功能,支持Markdown语法,所见即所得
Stars: ✭ 43 (-95.78%)
Mutual labels:  forum
ISS
Oldschool Forum Software
Stars: ✭ 17 (-98.33%)
Mutual labels:  forum
punkweb-boards
Django forum boards with bbcode support
Stars: ✭ 26 (-97.45%)
Mutual labels:  forum
XboxDev
Information about XboxDev and issue tracker for the entire XboxDev ecosystem
Stars: ✭ 64 (-93.72%)
Mutual labels:  discussions

Yike.io

Build Status

此项目为 https://yike.io 的后端 API,基于 Laravel 5 开发。

🏵前端源码:https://github.com/overtrue/yike.io

开源中国 Gitee 仓库:Fork me on Gitee

🚨此次开源只是应大家的要求,所以请不要联系我咨询任何使用问题,遇到问题请自行解决,熟读 Laravel 文档。 如果你有兴趣参与改进,请直接 PR 即可。

🎬快速上手视频:053. 优秀的开源社区——yike.io

运行环境要求

开发环境部署/安装

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

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

基础安装

克隆源代码

克隆源代码到本地:

> git clone [email protected]:overtrue/api.yike.io.git

配置本地的 Homestead 环境

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

homestead edit

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

folders:
    - map: ~/my-path/api.yike.io/ # 你本地的项目目录地址
      to: /home/vagrant/api.yike.io

sites:
    - map: api.yike.io.test
      to: /home/vagrant/api.yike.io/public

databases:
    - api_yike_io

3). 应用修改

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

homestead provision

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

安装扩展包依赖

composer install

生成配置文件

cp .env.example .env

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

APP_URL=http://api.yike.io.test
...
DB_HOST=localhost
DB_DATABASE=api_yike_io
DB_USERNAME=homestead
DB_PASSWORD=secret

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

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

$ php artisan migrate --seed

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

生成秘钥

$ php artisan key:generate

Passport 初始化

$ php artisan passport:install

将生成的 password grant 对应的 id 与 secret 记录下来,用于配置 env 变量。

PASSPORT_PASSWORD_CLIENT_ID=
PASSPORT_PASSWORD_CLIENT_SECRET=

如果你忘记了,就去找 oauth_clients 表中找吧。

配置 hosts 文件

echo "192.168.10.10   api.yike.io.test" | sudo tee -a /etc/hosts

其它服务配置

腾讯 007 防水墙

腾讯防水墙 注册账号,创建验证码服务(你可能需要创建两个验证,一个用于发布文章,一个用于注册账号),获取对应的配置填写到 .env 中:

# 用于发布文章的验证码
CAPTCHA_ID_PUBLISH=
CAPTCHA_SECRET_PUBLISH=

# 用于用户注册用的验证码
CAPTCHA_ID_REGISTER=
CAPTCHA_SECRET_REGISTER=
帖子搜索服务

帖子搜索基于 ElasticSearch 实现,所以你需要在任何机器上部署一个 ES 服务,然后将地址与索引名称配置到:

ELASTICSEARCH_INDEX=yike
ELASTICSEARCH_HOST=http://127.0.0.1:9200
敏感词配置

请自行寻找敏感词库,将敏感词放置于 storage/SensitiveWords.txt 中,每行一个:

敏感词1
敏感词2
...

链接入口

管理员账号请自己添加 UserSeeder 创建。

至此, 安装完成 ^_^。

扩展包使用情况

扩展包 一句话描述 本项目应用场景
overtrue/easy-sms 多网关短信发送组件 发送验证码
overtrue/laravel-emoji emoji 转换组件 帖子与评论 emoji 解析
overtrue/laravel-filesystem-qiniu 七牛 CDN SDK 帖子内容图片存储
overtrue/laravel-follow Laravel 用户关系组件 用户关注与帖子订阅
overtrue/laravel-lang Laravel 多语言 报错信息本地化
overtrue/laravel-mail-aliyun 阿里云邮件 SDK 发送通知邮件
overtrue/laravel-socialite 社交登录组件 用户使用第三方登录
overtrue/laravel-uploader Laravel 上传功能封装 帖子内容图片上传
overtrue/laravel-query-logger Laravel SQL 监听工具 开发环境查看 SQL 记录
Intervention/image 图片处理功能库 用于图片裁切
guzzlehttp/guzzle HTTP 请求套件 我也记不得,反正就是要用
predis/predis Redis 官方首推的 PHP 客户端开发包 缓存驱动 Redis 基础扩展包
mewebstudio/Purifier 用户提交的 Html 白名单过滤 帖子内容的 Html 安全过滤,防止 XSS 攻击
laravel/passport 用户授权 基于 Personal Access Token 的前后端用户认证
laravel/horizon 队列监控面板 监听队列使用情况
laravolt/avatar 生成用户头像 用户头像
sentry/sentry-laravel Sentry 报错监控 监控系统错误
spatie/laravel-activitylog 用户行为记录 个人中心的用户动态
spatie/laravel-url-signer URL 加密 用户激活链接
tamayo/laravel-scout-elastic Laravel Scout ES 驱动 帖子搜索
tucker-eric/eloquentfilter 模型字段过滤 接口字段过滤
vinkla/hashids HashID 实现 暂时好像没用到
beyondcode/laravel-self-diagnosis Laravel 基础环境检查工具 检查配置是否正确

自定义 Artisan 命令

命令行名字 说明 Cron 代码调用
es:init 初始化 ES 模板

PHP 扩展包开发

想知道如何从零开始构建 PHP 扩展包?

请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].