基于java开发的在线题库系统tamguo
简介
探果网(简称tamguo)是基于java开发的在线题库系统,包括
- 在线访问
- 后台运营
- 会员中心
- 书籍中心
- 管理员账号:system 密码:123456 因为线上数据和测试数据没有做到隔离,作者已经把密码修改,可用.sql在本地运行看后台效果。
QQ群:937899574
松耦合、高可用、可靠一直是软件工程的设计目标,探果网在这些方面还有很长的路要走,期待我们能手牵手一起走向未来。
期望
作者每天会把当天需要做的事情列出一个清单,给这周或者这个月立下一个flag。但是这中间发现了一些问题,事情永远也做不完,只会越做越多。
探果网期望可以使用java开发一套完整的互联网项目,分享互联网在技术、运营上的经验和知识。
系统部署图
项目结构
- tamguo-common 一些基础的工具类包
- tamguo-modules-core 依赖tamguo-common,主要是核心业务包,包括数据处理,文件处理,邮件处理,短信处理等等。
- tamguo-bms 书籍系统https://book.tamguo.com,书籍系统展现层
- tamguo-mms会员中心https://member.tamguo.com
- tamguo-oms后台管理系统https://admin.tamguo.com
- tamguo-crawler爬虫程序,单独项目运行
数据库脚本
在tamguo db目录下
开始
安装 redis
因为官网没有windows redis的版本,我们去github上下载windows版本的redis
redis windows 下载
下载Redis-x64-3.2.100.zip这个包,解压,执行redis-server.exe。
看到这个界面Redis就算启动成功。
安装 MYSQL
不做描述, 把tamguo下面的db文件导入mysql注意数据库名称。
安装 jdk1.8
不做描述
至此tamguo的环境基本基本上已经安装好。
启动 tms
找到tamguo-tms下面的application.propertys。
- domain.name // 页面引用静态资源的前缀
- member.domain.name // 会员系统跳转域名
- cookie.domian.name // 关系到session,本地配置成local
- server.port // 服务端口
- spring.datasource.url // 数据库连接地址
- spring.datasource.username // 数据库连接用户名
- redis.hostname // redis 服务地址
- redis.port // redis 端口
- file.storage.path // 上传文件存放路径
确定propertys正确后,用springboot 方式启动应用。
到这里就启动成功了,访问 http://localhost:8081/
到现在tms已经启动成功, tms 针对的用户(包括老师,学生等等)。
启动 bms (书籍项目)
和tms一样配置好application.propertys,启动application.java 即可。
启动 mms (会员系统)
和tms一样配置好application.propertys,启动application.java 即可。
启动 oms (后台运营系统)
和tms一样配置好application.propertys,启动application.java 即可。
到这里tamguo的所有子系统都已经启动成功
项目
https://gitee.com/smiletocandy/tamguo
基于java开发的在线题库系统tamguo的更多相关文章
- php+mysql开发一个最简单的在线题库,在线做题系统!
题库,对于教育机构,学校,在线教育,是很有必要的,网上也有不少的第三方在线题库系统,但是本次案例,会让有需要的人了解题库的开发思路,其实很简单,无非就是一个表单验证,数据库验证. 1.先构建表单数据2 ...
- 免费开源数字货币交易所——基于Java开发的比特币交易所 | BTC交易所 | ETH交易所 | 数字货币交易所
本项目是基于Java开发的比特币交易所 | BTC交易所 | ETH交易所 | 数字货币交易所 | 交易平台 | 撮合交易引擎.本项目基于SpringCloud微服务开发,可用来搭建和二次开发数字货币 ...
- 分布式架构从零开始========》【基于Java自身技术实现消息方式的系统间通信】
基于Java自身包实现消息方式的系统间通信的方式有:TCP/IP+BIO,TCP/IP+NIO,UDP/IP+BIO,UDP/IP+NIO.下面就这4种类型一一做个详细的介绍: 一.TCP/IP+BI ...
- ACM在线题库
现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO http://ace.delos.com/u ...
- FastAPI(六十三)实战开发《在线课程学习系统》梳理系统需要接口
针对上一篇FastAPI(六十二)实战开发<在线课程学习系统>需求分析需求的功能,我们对需要的接口进行梳理,大概的规划出来现有的接口,作为我们第一版的接口的设计出版,然后我们根据设计的接口 ...
- FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言
之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 ...
- FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言
之前文章分享FastAPI(七十二)实战开发<在线课程学习系统>接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑. 1.判断用户是否登录 2.用户 ...
- FastAPI(七十二)实战开发《在线课程学习系统》接口开发-- 留言列表开发
之前我们分享了FastAPI(七十一)实战开发<在线课程学习系统>接口开发-- 查看留言,这次我们分享留言列表开发. 列表获取,也需要登录,根据登录用户来获取对应的留言.逻辑梳理如下. 1 ...
- FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言
之前FastAPI(七十)实战开发<在线课程学习系统>接口开发--留言功能开发分享了留言开发,这次我们分享查看留言 梳理这里的逻辑,这个接口要依赖登录. 1.判断用户是否登录 2.判断对应 ...
随机推荐
- Tomcat设置虚拟文件夹
需求 在做B/S的应用时.常常会遇到一个问题,站点上传的一些图片不是保存在应用server以下.而是保存在别的文件夹,可是页面中又需要能訪问到这些图片.这时,应用server的"虚拟文件夹& ...
- spawn类expect方法详解
本文我们将介绍spawn类的基本方法expect方法,这个方法是用来匹配返回的结果,这个返回的结果是指子程序的返回结果,同时会将匹配的相关信息保存在spawn类的相关属性中. 基本属性包括三个,第一个 ...
- 【Windows核心编程】一个使用内存映射文件进行进程间通信的例子
进程间通信的方式有很多种,其底层原理使用的都是内存映射文件. 本文实现了Windows核心编程第五版475页上的demo,即使用内存映射文件来在进程间通信. 进程1 按钮[Create mappin ...
- PAT 天梯赛 L1-050. 倒数第N个字符串 【字符串】
题目链接 https://www.patest.cn/contests/gplt/L1-050 思路 因为是求倒数 我们不如直接 倒过来看 令 zzz 为第一个字符串 我们可以理解为 十进制 转换为 ...
- UESTC - 900 方老师炸弹 —— 割点
题目链接:https://vjudge.net/problem/UESTC-900 方老师炸弹 Time Limit: 4000/2000MS (Java/Others) Memory L ...
- ping返回 dup
大概原因如下: 目的主机不可达,也就是 跟主机不在一个网段,也没有路由跳转 一般是远端交换机或HUB流量超过负载,即堵塞 应该是你的网络中存在环路路由,也就是到达你ping的主机有一条以上的路由路径, ...
- 单元测试JUnit4 Ctrl + Shift + T
单元测试 public class Calculator { public int result = 0; public int add(int operandl, int operand2) { r ...
- Java标准输入
Java: import java.util.*; public class Main{ public static void main(String args[]){ Scanner cin = n ...
- CodeForces - div1 -650D:Zip-line(主席树 占位)
(和南京那题很像,比赛的时候就两个队A了.我们队找到了思路,但是花了1个多小时没有写出来,emmmm,我的锅,当时线段树写丑了. 题意:给定数组,Q次询问,假设把第i个大小hi改为b,求最长上升子序列 ...
- Java连接redis操作数据
选择2.9.0 jar 版本下载: jedis-2.9.0.jar package com.hao.redis; import org.junit.Before;import org.junit.Te ...