|Version 94 (modified by 12 years ago) ( diff ),|
Caution! Page being edited! Trac wiki does not support multiple editors.
Table of Contents
- Projects that do not involve programming
- Projects for beginning coders, or if new to Python or web services
- Projects for more experienced coders
- Test automation
- Tweet or SMS parsing -- allow users to provide info via tweets or …
- Job Jar -- manage tasks performed on the site, e.g. data entry
- Mobile photo or video upload
- Run Eden on a smart phone
- Chat with other logged in users
- Refactor and complete the Survey module
- Extensions to support new use cases
Since we expect GHC2010 Codeathon participants to reflect diverse skills and expertise, we have identified a range of projects. Regardless of the amount of coding needed, all of these are useful!
Projects that do not involve programming
- Role-play being a user:
- Improve usability:
- Find bugs:
- Try to break it.
- Report bugs.
- Document it:
- Explore it and document the existing workflow.
- Develop a how-to guide for users.
- Write tooltips (help info) for fields on forms.
- What's missing?
- What did you want to do that wasn't available?
- Where is the workflow inconvenient?
- Request features and suggest improvements.
- Find bugs:
- Modules that could use some usability improvement:
- New or unfinished modules that would benefit from feature and workflow suggestions:
Some bugs have been left open even though they've been fixed. Others don't have much information.
- Go through the list of open bugs and try to reproduce the bug:
- If the bug is gone, add a reply to the ticket with what you did and "resolve" the bug as "invalid". (The submitter can still reply and reopen the bug if they want.)
- If you can reproduce the bug but the description isn't clear, add better "how to reproduce" instructions.
- If you can't figure out what the ticket means, add a reply that tells the bug submitter what info would be helpful.
Current relief efforts
- Pakistan floods -- see background information.
Improve installation procedures
- Step-by-step documentation -- we have been concentrating on Windows & Debian/Ubuntu so other distros are poorly-documented.
Projects for beginning coders, or if new to Python or web services
- Pick from these easy bugs for new Eden developers.
- Fix UI issues, add features, provide user-requested enhancements.
- The landing page for each module is different -- some have descriptive text, others have statistics (a "dashboard"). Each has a different layout of menus.
- Are any of these landing pages useful? What would be better for a typical workflow?
- Make appropriate changes.
- Is there a common sort of menu that would be useful?
A favorite missing feature is geocoding addresses. There is already a geocoding service supported in Eden, but it's not used when a user adds a location. Your job:
- Find the geocoding function.
- When the user adds a location and enters an address, use the geocoding function to get latitude and longitude.
Here are some potential features for a "suggestion box", roughly in order of priority:
- Text data entry form -- just use standard Eden database fields like "timestamp", "authorstamp", and "comments", maybe with a subject field.
- Allow defining topics or keywords. Let user choose a topic for their suggestion. Add all module names as an initial list of topics.
- Simple search in the body of posts -- match words.
- Regexp search.
- Allow commenting on (replying to) suggestions -- show comment thread with original post.
- Some form of importance rating (e.g. voting up or down).
- Original suggestion from: http://groups.google.com/group/sahana-eden/browse_thread/thread/bbda1e98b73e1437
- Installation scripts or packages for operating systems and distributions that aren't already available (i.e. other than Windows or Debian/Ubuntu).
Projects for more experienced coders
Some things to keep in mind when planning new modules or major features:
- Consider what other FOSS tools exist, that could be installed alongside Eden.
- Look at tools and libraries already in use in Eden, e.g. jQuery and ExtJS for UI work.
- Figure out how to do unit tests against a web application.
- Write unit and functional tests.
Tweet or SMS parsing -- allow users to provide info via tweets or SMS messages
- Parse formatted SMS messages or tweets (e.g. key value pairs).
- Detect when message interpretation isn't certain and dispatch to a human reader (use existing "task" database, or Job Jar, below!).
- Create database records from parsed messages.
Job Jar -- manage tasks performed on the site, e.g. data entry
- Assign tasks to users or let users select tasks.
- Track who does what, mark completed.
- Provide administrator UI for defining tasks.
- Cross-check / verify task, or compare result of two users on same task.
- Administer tests and training for new workers.
Mobile photo or video upload
- Design a widget (to be included in an Eden form) that can be used to select images or video, with any needed detection of the type of phone.
Run Eden on a smart phone
- See BluePrintMobileClient.
- Alternate Layout for web view: BluePrintCSS
- Android Application: MobileAndroid
- Note this GHC session on Android development!
Chat with other logged in users
- Provide a chat board through which users can help each other or get help from the system administrator.
- Perhaps have one chat for each organization or project.
- Is there existing IRC or other chat software that could be incorporated?
Refactor and complete the Survey module
The survey module was started during GSoC this summer. The author will be online on freenode #sahana-ghc under the nicknames robbyoconnor or r0bby|android during the Codeathon.
- Change it so that it uses "components" to relate survey sections to the survey, and questions to the survey sections.
- Ideally, the look and feel of the surveys should be modeled after the Rapid Assessment Tool (rat) module. (See models/rat.py and controllers/rat.py to get an idea of what needs to happen.)
- We are aiming to allow non-technical users to create surveys similar to what was done in the rat module.
- Additional Resources: User Guidelines
- If this project is undertaken, please update the wiki documentation to match.
Extensions to support new use cases
- Organizations such as Ten Thousand Villages assist craftspeople in disadvantaged countries organize to purchase supplies and market their crafts. What would such a crafts coop need to help run their business? What's missing from Eden to support this?
- Maitri provides support to victims of domestic violence.
- They have a page listing resources but part of the page is organized topically and the rest by location. Consider how to store the resource data to allow displaying it either by topic or by location, and also make it searchable.
- Look at the volunteer page. Compare with the existing (incomplete) volunteer module. What additional features might Maitri need to use the Eden volunteer module?
- Pakistan Organisations.csv (22.9 KB ) - added by 12 years ago.
- SahanaCamp Simulation.doc (2.1 MB ) - added by 12 years ago.
- Sahana Eden - Home.jpg (152.0 KB ) - added by 12 years ago.
- Sahana Eden - Dashboard.jpg (134.6 KB ) - added by 12 years ago.
- Sahana Eden - List.jpg (178.4 KB ) - added by 12 years ago.
- Sahana Eden - List Add.jpg (128.5 KB ) - added by 12 years ago.
- Sahana Eden - Components.jpg (93.8 KB ) - added by 12 years ago.
- Haiti Organisations.csv (130.9 KB ) - added by 12 years ago.
- DRR Project Portal Organisations.csv (242.6 KB ) - added by 12 years ago.
- Organisation Collation from GCI Task 1.xls (255.5 KB ) - added by 12 years ago.
- Icons.zip (508.5 KB ) - added by 12 years ago.