'''[http://eden.sahanafoundation.org/wiki/GHC2010 GHC2010 Sahana-Eden Home]''' '''''Caution! Page being edited! Trac wiki does not support multiple editors.''''' [[TOC]] = Codeathon Projects = 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 == ==== ''Usability'' ==== #Usability * Role-play being a user: * Try it out -- you can use: * your locally-installed site * [http://demo.eden.sahanafoundation.org/eden/ demo site] * [http://test.eden.sahanafoundation.org/eden/ user test site for Pakistan floods response] * What do you expect it to do? * What features would you want? * What do you think the workflow should be? * Improve usability: * Find bugs: * Try to break it. * [BugReportingGuidelines 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? * [BugReportingGuidelines Request features and suggest improvements]. * Modules that could use some usability improvement: * All of them. Well, ok, try these: * [http://demo.eden.sahanafoundation.org/eden/gis Mapping] * [http://demo.eden.sahanafoundation.org/eden/cr Shelter registry] * [http://demo.eden.sahanafoundation.org/eden/hms Hospital registry] * [http://demo.eden.sahanafoundation.org/eden/pr Person registry] * New or unfinished modules that would benefit from feature and workflow suggestions: * [http://demo.eden.sahanafoundation.org/eden/inventory Logistics] * [http://demo.eden.sahanafoundation.org/eden/vol Volunteer management] * [http://demo.eden.sahanafoundation.org/eden/msg Messaging] * [http://demo.eden.sahanafoundation.org/eden/rat Rapid assessment tool] ==== ''Bug verification'' ==== Some bugs have been left open even though they've been fixed. Others don't have much information. * Go through the list of [/report/1 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 (Help out with a current relief effort)'' ==== Pakistan floods -- see [/Pakistan background information]. * Research missing map and location data for PakistanUnionCouncils, part of the [/PakistanUserGuide#LocationsHierarchy GIS location hierarchy]. * Do you speak Urdu? Help with [PakistanTranslation translation]. ==== ''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 == ==== ''Bug fixing'' ==== * Pick from these [/report/18 easy bugs for new Eden developers]. ==== ''Feature Enhancements'' ==== * Fix UI issues, add features, provide user-requested enhancements. * You can pick from these [/report/21 feature requests]. * Or talk to the folks at the Codeathon who are [#Usability cataloging issues]. * 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? Maybe go straight to a list page? Make appropriate changes. * Is there a common sort of menu that would be useful? ==== ''Geocoding'' ==== A favorite missing feature: 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. ==== ''Suggestion Box'' ==== * http://groups.google.com/group/sahana-eden/browse_thread/thread/bbda1e98b73e1437 ==== ''!SysAdmin tasks'' ==== * DeveloperGuidelinesReleaseProcess#ExportApplication * PakistanDeploymentCycle#SysadminToDo * 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. ==== ''Test automation'' ==== * Figure out how to do unit tests against a web application. * Write unit and functional tests. * DeveloperGuidelinesTesting#FunctionalTests ==== ''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. * BluePrintMessagingModule#Twitter * BluePrintMessagingModule#Micro-Syntax ==== ''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. ==== ''Upload photos or video from a smart phone'' ==== * 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: [wiki:BluePrintCSS#MobileView] * Android Application: MobileAndroid * Note this [http://gracehopper.org/2010/conference/open-source-track/#session3 GHC session on Android development]! ==== ''Chat with other logged in users'' ==== * Provide a chat board through which users can help each other. * 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) * '''Note:''' You will be required to write some supporting code! No way around that, but this is possible! * We are aiming to allow non-technical savvy users to create surveys similar to what was done in the rat module.