Git Product home page Git Product logo

javaquarkbbs's Introduction

JavaQuark社区

License

⚠ 本项目已停止维护更新

简介

1、JavaQuarkBBS是一款使用Java编写的简易社区系统。
2、采用前后端分离的机制实现。前台项目通过http访问RESTFulAPI获取信息渲染页面。
3、项目技术分层明显,模块分离,采用springboot构建模块。
4、前台页面来自FlyUI的开源社区模板。

系统结构图

1、quark-common :采用了Springdata+MySql实现基础服务抽象,DAO层,Entity以及DTO
2、quark-admin:采用springboot+shiro搭建的细粒度的基于URL的权限管理系统,进行帖子管理,回复管理,用户管理等操作
3、quark-rest:使用springMVC搭建RESTFul服务,采用WebSocket协议+stomp协议搭建推送服务,实现一对一推送与一对多推送,面向各个客户端
4、quark-portal:前台社区系统,使用springMVC进行页面跳转与拦截,采用前后端分离的机制实现。前台展示模块通过http协议访问RESTFulAPI获取数据,
使用LayUI,jQuery渲染页面渲染页面
5、quark-chat:采用Netty+WebSocket协议搭建的聊天室服务,通过JSON传递数据,Ping-Pong心跳检测机制保证链路可用性。
6、使用Redis进行了热点缓存,Ehcache进行数据库的二级缓存提高应用的效率

 image

运行环境

  • JDK 8
  • Maven
  • MySQL
  • Nginx
  • Redis

主要技术

  • Springboot
  • springData
  • Netty
  • hibernate-jpa
  • shiro
  • thymeleaf
  • Ehcache
  • swagger2
  • Bootstrap
  • Datatables,zTree
  • LayUI

swagger2生成的RESTFul API文档

(默认在http://loclhost:8081下)  image
 image

WebSocket聊天室

应用层协议

image

	PING_CODE = 0x01;//Ping消息(client)
	PONG_CODE = 0x02;//Pong消息(server)
	AUTH_REQUEST_CODE = 0x03;//认证消息(client)
	AUTH_RESPONSE_CODE = 0x04;//认证消息(server)
	MESSAGE_REQUEST_CODE = 0x05;//消息(client)
	MESSAGE_RESPONSE_CODE = 0x06;//消息(server)
	SYS_USERSINFO_CODE = 0x07;//在线人数消息
	SYS_MESSAGE_CODE = 0x08;//系统消息
	SYS_ERRORMESSAGE_CODE = 0x09;//系统错误消息

通信模型

image

环境部署

导入resource文件夹下的sql文件
Redis服务器:默认端口
Nginx部署图片服务器到目录:root   D:\home;
后台管理员:账号:lhr 密码:root

效果图

image
image
image
image
image

旧版本分支入口

V1版本

TODO

  • 对项目进行服务化与细节优化,减少冗余代码

License

Copyright 2016 Maat


Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

javaquarkbbs's People

Contributors

chinalhr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

javaquarkbbs's Issues

部署过程

本着学习的目的把这个项目clone。下面说一下我的部署过程把。
1 项目的数据库配置是在 quark-common\src\main\resources\application.properties中
2 数据库的建表语句在H:\gitPro\JavaQuarkBBS\resource\sql。数据库sql文件
3 maven编译的时候制定下jdk的版本,还有就是打包方式写成jar。原工程的打包方式是war。编译的时候报错,这是个spring-boot项目,打成jar就可以。
其他的暂时没问题了。我这里访问后台管理页面点解login的时候,网页加载不出来。不知道为什么。管理员的账号和密码分别是lhr和root。

build error

☁ quark-portal [master] ⚡ mvn clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building quark-portal 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ quark-portal ---
[INFO] Deleting /Users/lesvere/Code/Java/JavaQuarkBBS/quark-portal/target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ quark-portal ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 162 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ quark-portal ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 16 source files to /Users/lesvere/Code/Java/JavaQuarkBBS/quark-portal/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] 不再支持源选项 1.5。请使用 1.6 或更高版本。
[ERROR] 不再支持目标选项 1.5。请使用 1.6 或更高版本。
[INFO] 2 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.868 s
[INFO] Finished at: 2018-02-03T17:59:24+08:00
[INFO] Final Memory: 16M/55M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project quark-portal: Compilation failure: Compilation failure:
[ERROR] 不再支持源选项 1.5。请使用 1.6 或更高版本。
[ERROR] 不再支持目标选项 1.5。请使用 1.6 或更高版本。
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
☁ quark-portal [master] ⚡

There are two stored XSS in JavaQuarkBBS

【Vulnerability Description】
There is a Cross Site Scripting attack (XSS) vulnerability in the full version of JavaQuarkBBS. By entering specific statements into the background tag management module, the attack statement will be stored in the database, and the next victim will be attacked when he accesses the tag module.

【Vulnerability Type】
Cross Site Scripting (XSS)

【Affected Version】
<=v2

【Vulnerability Verification】
Find the Background Label Management module, select the new location and enter
<script>alert(“标签管理名称”)<script>
1

<script>alert(“标签详情”)<script>
2

【Repair Suggestions】
Strict filtering of user input data

IDE工具是哪个?

请问IDE工具是哪个来构建的项目呢?
我使用Myeclipse和IntelliJ IDE来导入都不行。

SEO如何解决?

项目分层架构是不错,但是对于互联网的web项目来说SEO就很差了。所有的请求都是json请求,爬虫、蜘蛛对于这种json请求的友好度很差。

请问下

麻烦问下,这个项目怎么导入 我导入过程中不知道哪里不对 启动失败了

很好奇

MyShiroRealm 是通过new出来的,那么调用这个类时候,里面的adminUserService是怎么注入进来的呢

Admin后台无法打开

运行起来项目之后,拿着lhr 和root登陆不了,一登陆网页就是404,也不报错。就是整个页面就没有了。像是地址输错的那种。

运行jar包问题

你好,我在运行jar包时报错说jar中没有主清单属性,这种情况是为什么呢,感谢感谢

大佬,小白想学一下,但编译报错啊

java: 对于DefaultEventLoopGroup(int,<匿名java.util.concurrent.ThreadFactory>), 找不到合适的构造器
构造器 io.netty.channel.DefaultEventLoopGroup.DefaultEventLoopGroup(int,java.util.concurrent.Executor)不适用
(参数不匹配; <匿名java.util.concurrent.ThreadFactory>无法转换为java.util.concurrent.Executor)
构造器 io.netty.channel.DefaultEventLoopGroup.DefaultEventLoopGroup(int,io.netty.util.concurrent.ExecutorServiceFactory)不适用
(参数不匹配; <匿名java.util.concurrent.ThreadFactory>无法转换为io.netty.util.concurrent.ExecutorServiceFactory)

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.