V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
fy
V2EX  ›  分享创造

Python3 实现的社区系统 Icarus 1.2.0 更新

  •  1
     
  •   fy ·
    fy0 · 2018-10-14 23:19:58 +08:00 · 2803 次点击
    这是一个创建于 2264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简介


    一个由 Python3.6 与 Vue.js 全家桶构建的现代社区 /论坛 /BBS 系统。

    License:zlib

    技术栈:aiohttp、vuejs、redis、PostgreSQL

    可能包含以下内容:

    • 大部分内容是单人制作。

    • 一个基本 0 设计参与的程序员产品。

    • 暂时还很弱的移动端支持。

    • 如果觉得不错,请给一些 star

    演示站点: https://t.myrpg.cn

    Repo 页面: https://github.com/fy0/icarus

    版本说明


    自从将个人项目加了一个项目管理,以周为单位迭代来完成需求以后,更新就勤快了许多。

    这个版本的主要改动有这么几项:

    • 简单的超宽屏支持

      由于我的屏幕是 13 寸+150%的缩放,1000px 的宽度限制在我的机器上看起来没什么问题。

      我有个朋友机器的网页横宽度将近 2000px,于是就呈现了巨大的留白。

      因此我想了一下之后移除了宽度限制,改成不同响应式布局下不同的 padding 加一些简单调整

      不知道现在的通用做法是什么,不过随着超大屏越来越多,看起来不用再抱着某个宽度不放了?

    • 重做了注册机制

      之前的注册机制是先注册用户,这时用户处于未激活状态,然后通过邮件激活。

      之所以如此,是因为最初的时候我是考虑纯 PostgreSQL 解决问题的。

      后来还是发现实现一些需求的时候还是不方便,于是又请回了 redis。

      所以现在是先发邮件,用户确认以后再创建帐户。

    • 更新到 vue cli 3 项目风格,同时做了一些首屏加载优化

      Vue cli 3 带来了 UI 支持(虽然 UI 其实属于 Vue,但老项目无法使用部分功能)和插件式的功能添加。

      为此我还写了一个升级指南,虽然其实没啥人看: https://zhuanlan.zhihu.com/p/45939391

      在 UI 的帮助下做了一些优化,比如模块切割按需加载等等,现在首屏需要加载的内容已经非常少了。

    没人看的详细改动页面


    https://t.myrpg.cn/topic/1002

    其他废话


    上个版本发了之后,大家给了非常多的建议,也找出了不少问题

    例如说文章的加载动画比较乏味,checkbox 在 mac chrome 69 环境下与文字重叠了等等。

    其中大部分我都修改了,但比较难受的是有些设计上的内容,我也没什么好办法……

    处于一种知道有问题但不知道怎么改的状态。

    不过毕竟一个人的能力是有限的,我也只能尽量做好我能做的,并在这个过程中提升自己。

    这里感谢大家的支持。

    其实可能有人会讲,你每次改一个版本都要发个帖子,烦不烦啊。

    以前我有时候也是这样想的,但自己做了之后发现其实每一个版本都非常的不容易,辛辛苦苦捣鼓了几十项改动,辛苦程度可能不亚于做个新东西。

    若不广而告之一番,岂不如锦衣夜行?当然,如果说随便改了一点东西就四处宣扬,我也是耻于为之的。

    这里也希望大家给不知名的开源项目作者一些包容与支持。

    毕竟做事不易,自觉不差的话,又何妨自卖自夸一番呢?若是端着身价,又有谁会多看一眼呢?

    再次感谢大家。

    19 条回复    2018-11-28 23:34:30 +08:00
    lihuimail
        1
    lihuimail  
       2018-10-14 23:28:04 +08:00 via Android
    很不错
    isCyan
        2
    isCyan  
       2018-10-14 23:31:39 +08:00
    肉感交互响应速度很快啊
    感觉很不一般
    Phant0m
        3
    Phant0m  
       2018-10-14 23:48:19 +08:00
    奈斯
    elone
        4
    elone  
       2018-10-15 00:00:43 +08:00 via iPhone
    速度好快
    sean10
        5
    sean10  
       2018-10-15 00:09:48 +08:00 via Android
    Sniffing
        6
    Sniffing  
       2018-10-15 00:16:09 +08:00 via iPhone
    哇 不错
    KgM4gLtF0shViDH3
        7
    KgM4gLtF0shViDH3  
       2018-10-15 08:38:50 +08:00 via iPhone
    速度确实快
    Kilerd
        8
    Kilerd  
       2018-10-15 09:32:25 +08:00
    不用 pipenv 来管理依赖?
    fy
        9
    fy  
    OP
       2018-10-15 09:35:52 +08:00
    @Kilerd #8 文档里有提的呀,不过项目本身的话,用个 pipfile 似乎也没什么必要……
    Kilerd
        10
    Kilerd  
       2018-10-15 09:40:20 +08:00
    @fy 不做版本锁定,一个月后估计你的项目就会跑不起来了。而且你的 requirement.txt 也没有做锁定版本的工作
    fy
        11
    fy  
    OP
       2018-10-15 10:00:55 +08:00
    @Kilerd #10

    这样一说也有些道理,依赖更新到一个月项目就跑不起来固然太夸张,半年左右就不好说了。

    不过肯定是会持续维护的,就算真挂了也会及时修正。
    solanin
        12
    solanin  
       2018-10-16 22:46:46 +08:00
    想……做一个网站 TAT,然后才开始学 python,好羡慕啊
    aihehe
        13
    aihehe  
       2018-10-22 12:59:20 +08:00
    我就想知道。。。能不能加个搜索功能。。。
    我想用这个做个个人知识库。。。
    fy
        14
    fy  
    OP
       2018-10-22 14:24:48 +08:00   ❤️ 1
    @aihehe #13 在列表上了,不过计划是使用 elasticsearch 当数据库,无论是维护还是中文分词都非常完善,但是会多一个服务依赖
    aihehe
        15
    aihehe  
       2018-10-23 13:24:14 +08:00
    @fy 讲真,大佬。我到现在还没找到搜索功能在哪里。不过一会我本地搭一个试一下。看看是不是因为我 14 寸小本分辨率造成的。

    其实,多个依赖也是没啥事的。
    fy
        16
    fy  
    OP
       2018-10-23 15:40:38 +08:00
    @aihehe #15 不是啊 我说的列表是 TODO-LIST,还在做呢
    xivisi
        17
    xivisi  
       2018-10-23 20:29:36 +08:00
    @fy 最近我也在物色 站点系统。你的演示站看了看。仅以一个用户角度(虽然我也算程序员,不过和 WEB 无关),响应挺快的,估计是轻量级的缘故。但是程序员的通病,不怎么美观亮眼,哈哈
    fy
        18
    fy  
    OP
       2018-10-23 20:50:48 +08:00
    @xivisi #17 响应快除了东西少,也是做了专门的优化,主要的影响首屏加载的都拆了。

    其实按图索骥做页面速度是很快的,但是这页面实在是难为人,改了又改,还重做了两回,令人难受。

    关键是费大劲改完了还不怎么好看。
    fy
        19
    fy  
    OP
       2018-11-28 23:34:30 +08:00
    @aihehe #15
    搜索功能已经实现,使用 ES,预计明天可以 1.3,回头写个部署文档。


    @Kilerd #10
    锁了。现在是 requirements.txt + Pipfile
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5424 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:50 · PVG 13:50 · LAX 21:50 · JFK 00:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.