Skip to content

zven21/mipha

Repository files navigation

Mipha

Build Status

English | 简体中文

目录

简介

Mipha 是一个用 Elixir 模(chao)仿(xi) RubyChina 的开源论坛。 有兴趣参与开发的童鞋,可以加入 Slack channel

启动程序

# clone 项目
git clone [email protected]:zven21/mipha.git
# 初始化,如果是 Mac 电脑,可以执行 ./script/setup,
cd mipha && ./script/setup
# 数据库初始化,在 config/dev.exs 内配置开发环境的 postgres 账号和密码
mix ecto.reset
# 启动项目 :-)
mix phx.serve

如果要使用上传图片、发送邮件或第三方 Github 登录功能,需要配置环境变量配置在 ~/.profile~/.zshrc

# 七牛图片服务器的账号和密码
export QINIU_ACCESS_KEY
export QINIU_SECRET_KEY
# 发送邮件服务器的账号和密码
export GMAIL_USERNAME
export GMAIL_PASSWORD
# Github 第三方认证登录的 Key 与 Secret
export GITHUB_CLIENT_ID
export GITHUB_CLIENT_SECRET

数据库表关系

项目结构

目前的项目结构设计很直接,不属于 web 部分的功能,都放到了 lib/mipha 内,后续会根据业务需求调整。

.
├── assets                     # JS CSS 与静态资源
├── lib                        # 项目 elixir 代码
│   ├── mipha                  # 目前的逻辑是非 Web 部分的代码放到这里。
│   │   ├── accounts           # 社区用户、团队、公司、地址
│   │   ├── collections        # 收藏
│   │   ├── follows            # 关注
│   │   ├── markdown           # markdown 文本解析相关策略
│   │   ├── notifications      # 站内信(通知)
│   │   ├── replies            # 帖子评论
│   │   ├── stars              # 点赞,目前支持点赞帖子与评论
│   │   ├── topics             # 帖子与帖子的分类(节点)
│   │   ├── utils              # 工具库
│   │   ├── mailer.ex          # 发送邮件
│   │   ├── markdown.ex        # markdown 文本解析
│   │   ├── qiniu.ex           # 七牛上传图片
│   │   ├── regexp.ex          # 正则表达式
│   │   ├── token.ex           # token 验证
│   ├── mipha_web
│   │   ├── channels           # socket WS 协议相关代码
│   │   ├── controllers        # Controllers
│   │   │   ├── admin          # admin 管理台
│   │   ├── plugs              # Plugs
│   │   ├── templates          # Templates
│   │   ├── views              # Views
│   │   ├── email.ex           # 发送邮件方法及调用邮件模板
│   │   ├── session.ex         # 用户登录相关的 session 处理
│   ├── mipha.ex
│   ├── mipha_web.ex
└── test                       # 测试

进度与计划

目前在第一迭代,按照 RubyChina 的功能实现。欢迎提 Issue 或 PR。

其他

Releases

No releases published

Packages

No packages published