Git Product home page Git Product logo

meowcavepre's Introduction

MoewCavePre

No English version because of my poor vocabulary, sorry.

关于项目

学习建设一个基于Flask的轻论坛的过程。

MeowCave是在本人关于社群的一个想法催生(但没有生)的产物。

在写代码的过程中主要参考的是新版The Flask Mega-Tutorial教程, 部分代码或组织结构剽窃借鉴了flaskbbuniversity-bbs等项目。 在此非常感谢他们的成果让我们这些萌新在学习过程中得到了参考。

代码结构

根目录:

  • /meowcave:应用本身
  • /migrations:数据库的迁移脚本巴拉巴拉
  • /test_code:为存放测试用的代码 ,但是根本没用上

应用内的每一个子项目(现有的是auth以及user):

  • __init__.py:告诉系统这是一个可以被imported 的库
  • forms.py:存放表单
  • models.py:存放其他地方会用到的模型
  • view.py:视图函数,和template下的内容对接,其中蓝图在此注册

功能与期望

因为主要目的是学习而非搭建完整可用的项目,所以显得相当简陋。 如果存在问题或硬伤,还敬请指出。

目前已经实现的功能:

  • 用户的注册
  • 用户的登录与登出
  • 发帖(在UserPost下,单纯的「动态」)
  • 注册时加入输入邀请码的表单
    • 已登录用户的邀请界面
    • 邀请码的生成

短期内期望的功能:

  • 评论的显示与回复
    • 通过嵌套集实现树形结构
  • 更灵活的邀请码设定
    • 更多的设置与定期失效
    • 增加后台的第一个功能————邀请码的相关设定(例如格式与有效期之类的)
  • 用户个人信息
    • 修改以及改变形式(隐藏巴拉巴拉)
    • 导出
    • 删除
  • 进一步精简代码、增加可读性以及合理化项目组织

长期规划(主要是MeowCave的内容,但是严格意义上来讲依旧属于玩具):

  • Markdown的引入
  • 完整的评论系统
  • 像样的后台
  • 建立与个人动态相独立的「圈子-板块-贴子-楼」的内容结构
    • 内容的组织
    • 圈子的管理员————上任机制与权力
  • 多媒体内容(图片、音频以及视频等)在网站上的引入
  • 用户生产内容的版权声明以及「演绎」

正式部署相关(广义的):

  • MySQL
  • 网络安全相关
  • 前后端分离与API接口

运行项目

代码很烂,凑合者看。

下载下来,然后:

$ cd <File-location> # 使bash到达项目的位置

如果没有安装virtualenv(安装后跳过即可):

$ pip install virtualenv

开一个虚拟环境:

$ virtualenv vvrenv # 后面的名字随便起,你甚至可以叫它为`ilovebingchiling`

再进行一些简单的设定:

$ pip install -r requirements.txt
...
$ export FLASK_APP=meowcave
$ export FLASK_ENV=development # 不会有人用production来运行这玩意吧?不会吧

开始运行

flask run

然后疯狂报错

meowcavepre's People

Contributors

ges233 avatar

Watchers

 avatar

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.