A Twitter-like SNS demo using Java SSH framework.
一个山寨推特的社交网站示例(包含前端页面和后台基本功能),后台使用Java SSH(Spring & Struts 2 & Hibernate)框架设计。
For personal practicing and learning SSH framework.
效果测试:http://twcn.rainsho.cc
AWS EC2服务器,位于海外。可能速度比较慢,请耐心等待(异步上传过程中可能无明显提示)。
测试账号密码:admin admin
网页样式基本采用推特原站设计,使用原站css样式表。非页面跳转的请求均通过JS进行异步提交,并使用JS设计部分动画和效果展示(原站的JS文件过于复杂,未使用)。
- 注册/登录功能
- 个人主页/首页
- 个人信息修改/完善功能
- 基于推文和用户信息的复合搜索
- 用户的关注/取消关注功能
- 用户间的私信收发功能
- 发送推文(附带图片和MP4视频,30M限制,包含#主题功能)
- 推文的评论、转发、点赞功能
- 新消息提醒功能
注册:前台采用H5验证,后台由Struts2验证昵称和邮箱是否合法。用户名由邮箱前缀自动生成(可修改)。
登录:登录可采用邮箱+密码或用户名+密码形式登录。
个人主页显示用户本人所发送或转发的推文,个人首页显示所有本人已关注用户所发送或转发的推文。
个人首页随机推荐三位未关注用户(当前算法为管理员+2位随机),同时显示热门话题榜(TOP 5)。
可打开/折叠评论与转发信息框。
采用30+20*n的形式,当阅读到页面末端后异步加载更多内容。
需改用户名/邮箱/密码时(AJAX异步验证是否重复)。
上传头像、修改昵称、生日等信息(无限制)。
全局搜索栏可对昵称及正文信息进行搜索,搜索到的用户附带关注按钮,搜索到的推文可点击查看详情。
使用AJAX异步提交。
可直接向其他用户发送私信,第三方用户无法查看。删除仅进行逻辑上的删除,数据库保留原始内容。
可在个人首页发送推文并附带多媒体信息,或通过全局的快捷按钮打开发送框及时发送。
目前图片仅显示前4张(主要是没做样式),视频仅支持上传MP4格式。
推文支持主题功能,主题由'#'号开始
对首页或主页(本人及他人)的推文进行评论、转发、点赞操作。评论及转发可展开或折叠,点赞附带动画效果(完全模拟tweet原网)。
可在通知页面汇总查看评论及点赞信息,并打开关联推文。后台push刷新时间60秒,如有未读的推文、评论、转发、点赞和私信会在对应导航栏进行提醒。
推文、评论、转发、私信均采用逻辑删除,均在数据库保存原始内容。
由于数据库、页面及业务逻辑均由一人设计,时间精力有限,部分功能未提供完善的校验,请勿提交恶意请求。
Spring 3.1.1
Struts 2.1
Hibernate 4.1.4
MyEclipse 2013/2015
JavaSE-1.7
mysql 5.5.49/5.7.16
tomcat 7.0.52