Git Product home page Git Product logo

feiqu's Introduction

飞趣社区开源版本

介绍

飞趣社区做了快两年了,最近也想不到什么新功能去做了,于是想起了开源的事情,我一个人开发终究不能让这个社区走向前方,于是我下定决心开源,开源之前我也蛮纠结的,就像是把自己辛辛苦苦做的东西送给别人了,但是转念一想,也许这会为我的社区向前发展提供助力,不同人的**或许会激发灵感,所以我就决定开源了。

社区网站地址:http://www.flyfun.site qq讨论群:632118669

有什么问题可以在下面提问,或者加群讨论。

这个项目一开始使用springmvc开发,后来听了群里的人说springboot多么好多么好的,我也就上了贼船,开始了springboot之旅,从此一发不可收拾。

springmvc项目就不演示给大家看了,毕竟那么多配置文件,想想也烦,大家一起加入springboot 大家庭吧

此项目使用了hutool工具类(https://www.hutool.club/)作支撑,参考了 zheng项目(https://gitee.com/shuzheng/zheng)以及 ruoyi的项目(https://gitee.com/y_project/RuoYi), https://gitee.com/vakinge/jeesuite-libs ,这三个项目给了我很多的帮助, 在此谢谢这三个项目的作者,页面ui使用了layui,集成了阿里云oss(支持前端和后端上传)、七牛云,支持代码自动生成,支持数据库读写分离,减去了70%的工作量,让你更多的精力放在写业务代码的过程中。

当然这个项目还可以用来给你们公司做前端展示页面,也是非常方便的。

软件架构

使用java作为后端开发 使用springboot、mysql、druid、 mybatis、pagehelper、javamail、redis、beetl、hutool、layui、jeesuite、webmagic相关技术集成开发的一个web应用 并且支持爬虫、发邮件。你想要的功能在这应有尽有,如果你还希望集成什么,欢迎提issue 用户信息是通过cookie保存的,为期30天

安装教程

  1. mysql创建一个数据库 cwd_boring
  2. 导入sql sql目录下面的
  3. 安装redis 6379端口

使用说明

  1. 使用jdk8

  2. mysql 5.7 用户名密码 root root

  3. 配置文件里面为 application-dev.yml: feiqu-redis: servers: localhost:6379 #redis服务的ip和端口 password: mail: default-encoding: utf-8 host: smtp.qq.com #改成你的邮件主机 username: [email protected] #邮件服务 登陆用户名 password: 2333 #邮件服务 登陆密码 必须改为自己的配置才能生效 java类里面 com.feiqu.framwork.constant.CommonConstant.USER_ID_COOKIE com.feiqu.framwork.constant.CommonConstant.USER_COOKIE_SECRET com.feiqu.framwork.constant.CommonConstant.FORGET_PASSWORD_SECRET 必须改为自己的配置才能生效

  4. ip2region.db -> \feiqu-opensource\feiqu-front\src\main\resources\ip2region\ip2region.db 转移到自己的文件位置 application-dev.yml:22 这个是参考的https://gitee.com/lionsoul/ip2region 大家也可以去 https://gitee.com/lionsoul/ip2region/blob/master/data/ip2region.db 下载最新的文件 然后放到对应的目录就可以了

  5. com.feiqu.framwork.aspectj.DataSourceAspect 把注释去掉支持读写分离

  6. 阿里云和七牛云的配置在——》feiqu-opensource\feiqu-front\src\main\resources\application.properties 七牛云 public.filesystem.provider=qiniu public.filesystem.bucketName=*** public.filesystem.urlprefix=*** public.filesystem.accessKey=*** public.filesystem.secretKey=*** picUrl = FileSystemClient.getPublicClient().upload(CommonConstant.FILE_NAME_PREFIX+currentTimeMillis+".jpg", img); 阿里云 aliyun.filesystem.bucketName=*** aliyun.filesystem.endpoint=*** aliyun.filesystem.accessKey=*** aliyun.filesystem.secretKey=*** aliyun.filesystem.urlprefix=*** 使用:videoUrl = FileSystemClient.getClient("aliyun").upload("video/"+fileName,localFile); 改成你想要的 注意跨域和url_prefix

  7. 支持第三方登陆 现已集成了qq、微博 微信好像要钱就没弄。。。。 application.properties里面 app_id_qq=*** app_key_qq=***

    app_id_sina=*** app_key_sina=*** 改成自己的就可以了

  8. 没有写专门的后台 就直接放在前端了 把用户的角色 cwd_boring.fq_user的role字段改成1 就是管理员角色了 点击用户头像进去 可以看到左侧的tab多了很多菜单项 那就是后台管理员的操作地方

  9. 代码生成放在\feiqu-opensource\feiqu-generator 项目中 具体的类是:com.feiqu.generator.util.CSSGenerator 在main方法里面:generator(Global.getConfig("gen.packageName"),true,LAST_INSERT_ID_TABLES,false,"FQ_USER_PAY_WAY"); 这句话 把最后一个参数改成自己想要生成代码的表

  10. 支持登陆用户更换背景图片 (pg:一开始运行起来的项目 基本上都是空页面)

  11. 文章发表支持富文本 适用quill框架,相信大家都知道

  12. [图片] 在这边application.yml 配置开发环境和开发环境 每次打包的时候只要切换一下 我感觉挺好的

  13. redis和mysql的密码都是通过aes加密的,工具类在:com.feiqu.common.utils.AESUtil,避免了明文展示密码。 feiqu-system 是和数据库打交道的

  14. com.feiqu.framwork.init.FeiquInitTrigger和com.feiqu.framwork.init.Initialize是两个初始化的方法,大家可以抽空看一下

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

演示图片: 首页 我的小窝 文章显示 网址导航

还有一些后台管理页面,这个是通过字段区分渲染的,如果用户的role字段是1,那就显示后台菜单

feiqu's People

Contributors

findfirecode avatar

Watchers

James Cloos 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.