CodeForAfrica / CodeForAfrica/HealthTools.API
Development - v0.2
- Ngôn ngữ chính
- Python
- Star
- 19
- Fork
- 20
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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.
Hướng dẫn đóng góp
Hướng nghiên cứu
Đây là một roadmap v0.2 trên phạm vi rộng cho HealthTools.API, bao gồm views, các vector query và search, các adapter SMS, tests, analytics, caching, messaging, Wit.ai và bots. Hãy bắt đầu bằng cách lập bản đồ các entry point search và SMS hiện có, sau đó xác định một deliverable nhỏ hơn với các tiêu chí hoàn thành rõ ràng; bản thân issue không nêu tên file hoặc test nào cần chạy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- elasticsearch, flask, memcached, python, rabbitmq
- Lĩnh vực
- api, backend, distributed-systems, search
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 18/100