CodeForAfrica / CodeForAfrica/HealthTools.API
Development - v0.2
- 主要语言
- Python
- 星标
- 19
- 派生
- 20
- PR 合并指标
- 30 天内没有已合并 PR
描述
Through development of the HealthTools.API, we've learnt a lot and want to make it more extensible. v0.2 seeks to do a couple of things:
**1. Views**
1.1. Search
- Have a single search API view to receive requests and output results in JSON
- Send requests to a single query function used by sms, bots, etc.
1.2. SMS
- Have a single SMS view that receives requests and outputs results in JSON.
- Send requests to a single sms process function (detailed below)
**2. Search**
2.1 Query
- This would be the primary query module that determines the doc-type (e.g nurses, doctors, cos etc.)
- This would determine the search "vector" i.e elastic search or proxy for nurses etc.
- Return dictionary/list of results.
2.2. Nurses Search "Vector"
- Proxy the nurses website because we are unable to scrape it.
2.3. Elastic search "vector"
- Search from elastic search.
**3. SMS**
- The base module would process SMS requests using the query function and structure for an SMS response.
- This would then use "adapters" for the different providers e.g M-Tech, Twilio.
**4. Other considerations:**
- Tests to be rewritten
- Analytics to work as a Flask "Middleware" or have as part of an "events" module.
- Slack integration with Python's logging module.
- Cache queries using Memcached (all not just nurses as before)
- RabbitMQ integration for SMS processing.
- Wit.ai to replace determination from keywords what doc-type is being queried.
- Bots architecture similar to SMS. Probably re-using a lot of SMS so might be combined into just "Chat" that both inherit.
贡献指南
调研方向
这是 HealthTools.API 的一份范围广泛的 v0.2 路线图,涵盖 views、query 和 search 向量、SMS 适配器、测试、analytics、caching、messaging、Wit.ai 以及 bots。首先映射现有的 search 和 SMS 入口点,然后定义一个具有明确完成标准的更小 deliverable;该 issue 本身没有列出要运行的文件或测试。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- elasticsearch, flask, memcached, python, rabbitmq
- 领域
- api, backend, distributed-systems, search
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 18/100