开源一个刚刚完成的项目, [ OSF:内容社区类网站原型] Pythoner 来喝杯 Java 吧 : ) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
gavinlw
V2EX    程序员

开源一个刚刚完成的项目, [ OSF:内容社区类网站原型] Pythoner 来喝杯 Java 吧 : )

  •  4
     
  •   gavinlw 2015-08-22 13:34:46 +08:00 8193 次点击
    这是一个创建于 3705 天前的主题,其中的信息可能已经有所发展或是发生改变。

    OSF

    github 地址 https://github.com/lvwangbeta/osf

    OSF 是一个开放、自由、分享的内容社区类网站原型。你会发现目前绝大多数的社交类网站、内容分享类、社区类、兴趣垂直类网站都有共同的特性,包括多用户,内容的发布、评论、喜欢,消息传递, Feed 流,标签分类等等。打造 OSF 的初衷就是为了实现这些通用的模块,构建一个集合以上特点的内容社区类网站的原型。你可以用 OSF 构建一个单纯的社交网站,也可以加入标签成为一个兴趣社区,甚至两者皆可,这一切 OSF 都已为你提供。

    welcome

    主要功能

    • 邮箱注册激活验证
    • 多用户、用户间互相关注
    • 标签系统
    • Feed 流
      • 关注用户 Feed
      • 关注标签 Feed
    • 说说、日志、相册
    • 评论、回复
    • 通知系统
    • 个人信息设置、账户安全
    • 上传图片云存储

    Demo

    此项目的 Demo 版演示已经部署在 Coding.net http://osf.coding.io/welcome

    演示用户:

    邮箱 密码
    [email protected] demo123456
    [email protected] demo123456

    注意:如果自行注册登录,请使用真实邮箱地址, osf 会为新注册用户发送激活链接

    UI

    Sketch 文件下载:osf_sketch

    explore

    技术选型

    OSF 选择 Spring MVC 作为后端基础框架,实现 RESTFull url ,为实现尽可能的前后端分离,除首屏数据渲染外均通过 Ajax+json 形式更新前端

    MySQL 作为 OSF 的关系型数据库,除 Feed 之外的所有数据均由其存储

    Redis 在 OSF 中的使用,主要缓存用户信息、统计计数,同时存储用户的 Feed 信息流和 Tag 与 Feed 的从属关系

    38 条回复    2015-09-06 14:44:53 +08:00
    invite
        1
    invite  
       2015-08-22 16:52:20 +08:00
    看了,疲劳了。
    hao123yinlong
        2
    hao123yinlong  
       2015-08-22 16:52:28 +08:00
    感觉不错!
    phx13ye
        3
    phx13ye  
       2015-08-22 17:13:17 +08:00
    还以为是 py 项目,
    熟悉的味道, spring 玩的挺 6 啊, 看你没有用 hibernate 啊,为什么要依赖它呢
    gavinlw
        4
    gavinlw  
    OP
       2015-08-22 17:28:44 +08:00
    @phx13ye 前期 pom 模板里带出来的。。 一直没删除。
    ljbha007
        5
    ljbha007  
       2015-08-22 17:34:23 +08:00
    给你加了个样式

    ```
    * {
    font-family: "Helvetica-Light", "SimHei", "Microsoft Yahei", sans-serif !important;
    }
    ```

    不然 windows 上看着太难受
    ljbha007
        6
    ljbha007  
       2015-08-22 17:36:05 +08:00
    我也很喜欢 SpringMVC 数据库用的 mybatis 吗?
    zonghua
        7
    zonghua  
       2015-08-22 17:36:52 +08:00
    终于有 java 开源的项目可以围观。
    le0rn0
        8
    le0rn0  
       2015-08-22 17:38:47 +08:00
    很 nice !请问 LZ 耗时多久?
    ljbha007
        9
    ljbha007  
       2015-08-22 17:42:59 +08:00
    刚看了代码 质量很高 好像没用 mybatis
    gavinlw
        10
    gavinlw  
    OP
       2015-08-22 17:49:39 +08:00
    @ljbha007 mybatis 计划下个大版本会加入,现在算是 1.0 吧,,哈哈
    gavinlw
        11
    gavinlw  
    OP
       2015-08-22 17:51:29 +08:00
    @ljbha007 3Q~ 之前一直在 mac os 上调试来着,昨晚才在 windows 简单测试了下,字体确实有点复古了。。
    gavinlw
        12
    gavinlw  
    OP
       2015-08-22 17:52:52 +08:00
    @le0rn0 断断续续吧,晚上下班回来写写,大概三个多月吧
    gangsta
        13
    gangsta  
       2015-08-22 17:53:53 +08:00
    赞一个 难得 UI 都自己用 Sketch 设计了
    图片建议可以放到七牛
    gavinlw
        14
    gavinlw  
    OP
       2015-08-22 17:54:54 +08:00
    @gangsta 现在已经是七牛啦。。 哈哈
    gangsta
        15
    gangsta  
       2015-08-22 17:57:49 +08:00
    @gavinlw 看到了,我们还在用 PutRet 这个七牛的类上传...
    le0rn0
        16
    le0rn0  
       2015-08-22 17:58:32 +08:00
    @ljbha007 刚刚看了下数据库直接 spring 的模板,小巧好用。
    zerh925
        17
    zerh925  
       2015-08-22 18:06:47 +08:00 via iPhone
    有个小错误: RESTfull url
    ljbha007
        18
    ljbha007  
       2015-08-22 18:14:23 +08:00
    @zerh925 RESTful
    tushiner
        19
    tushiner  
       2015-08-22 18:32:22 +08:00
    +1024 ,楼主加油!
    junnplus
        20
    junnplus  
       2015-08-22 18:51:05 +08:00
    我有强迫症,为什么箭头不在最中间
    kidult
        21
    kidult  
       2015-08-22 18:52:43 +08:00
    用 Sketch 设计好评
    gavinlw
        22
    gavinlw  
    OP
       2015-08-22 20:24:09 +08:00
    @junnplus 没有在中间吗。。
    Kilerd
        23
    Kilerd  
       2015-08-22 20:42:25 +08:00
    win 下

    字体 差评

    UI 差评
    gavinlw
        24
    gavinlw  
    OP
       2015-08-22 21:34:16 +08:00
    @Kilerd win 下确实优化的还不够, ui 也会进一步修改,多谢~
    run2
        25
    run2  
       2015-08-22 22:17:07 +08:00
    因为复制 demo 用户名的时候多了空格进去 被提示用户不存在,话说去首尾空格有必要没?
    run2
        26
    run2  
       2015-08-22 22:24:08 +08:00   1
    无限加载只有少数的网站做法是正确的,不知道 lz 注意到 Tumblr 没, 人家会实时更新浏览的位置到 History API (这样前进或后退后不用找半天浏览到哪了)
    ob
        27
    ob  
       2015-08-22 22:58:23 +08:00
    看了下后端代码,这种结构跟数据库交互的代码,开发起来效率不高吧,没用驼峰还是比较少见,建议上 mybatis 。
    前台界面看起来不错,这个没有管理员后台?
    会整界面的 java 猿都是好前端。(前端渣赶紧逃)
    Ouyangan
        28
    Ouyangan  
       2015-08-22 2:36:18 +08:00
    @sobigfish 加下 trim ()就好啦
    run2
        29
    run2  
       2015-08-23 00:13:43 +08:00
    @Ouyangan 是的,但有必要没是另一个(安全)问题
    Smilecc
        30
    Smilecc  
       2015-08-23 00:29:48 +08:00
    不错哦 加油。
    letuslinux
        31
    letuslinux  
       2015-08-23 12:15:08 +08:00
    不,加油
    gkiwi
        32
    gkiwi  
       2015-08-23 12:46:32 +08:00
    刚开始写代码那会,以为 java 只能写出 ibm ,政府网站那种样子。。。 doge
    unique
        33
    unique  
       2015-08-23 13:14:08 +08:00 via Android
    mark~
    EyreFree
        34
    EyreFree  
       2015-08-23 14:23:14 +08:00
    Coding 大法好...

    话说为毛没有人说这是 Coding 的软文, 23333333333
    saximoer
        35
    saximoer  
       2015-08-23 19:54:52 +08:00
    JDBCTEMPLATE 的话 不停的新建 RowMapper 是一个很繁琐的工作
    SPRING JDBCTEMPLATE 里面有 ParameterizedBeanPropertyRowMapper.newInstance 这样一个方法。可以简化很多操作
    JiuEr
        36
    JiuEr  
       2015-08-23 21:01:56 +08:00
    发现一个疑似 BUG 的东西 登录示范账户后 鼠标移动到右上角的 OSF 上 弹出一个窗口 其中右边红色字样和左边的喜欢、关注什么的对不上(也就是说有错位)
    sovalvo
        37
    sovalvo  
       2015-08-24 13:26:26 +08:00
    Mark 一下
    HamGuy
        38
    HamGuy  
       2015-09-06 14:44:53 +08:00
    不错, Mark 下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3428 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:53 PVG 12:53 LAX 21:53 JFK 00:53
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86