Home

Awesome

Build Status Maintainability Test Coverage

AgileVentures WebSiteOne

Legacy code

This Ruby on Rails app powers the AgileVentures main developer site, showing lists of active projects, members, upcoming events, past event recordings, as well as information for how to get involved.

Installation

See the Project Setup documentation

Usage

:construction: UNDER CONSTRUCTION :construction:

See the site How To documentation

Contributing

See our Contribution guidelines

History

in 2011, inspired by Dave Patterson and Armando Fox's UCBerkeley Software Engineering Massive Open Online Class (MOOC), Sam Joseph had the idea for a global online pairing community where everyone worked together to use the agile development methodology to deliver solutions to IT charities and non-profits. Thomas Ochman joined as project manager and led the development of the WebSiteOne codebase with Bryan Yap serving as technical lead. Initialy Sam was the notional "client", not getting involved in the tech development, and many different volunteers contributed code. During this phase the events, projects and user systems were developed. There was also a blog like articles system. Yaro Appletov led a tight integration with Google hangouts to allow recordable hangouts to be launched from the site and report back telemetry.

Later Raoul Diffou joined to take over as project manager as Thomas and Bryan had less and less time for the project. Sam took over the technical lead role in 2016 and also stared pairing with Raoul as project manager. Later in 2016 as Raoul had less and less time Sam became the sole project manager. During the course of 2016 Sam and long time AV contributor Michael revised the events framework, and replaced the articles system with a Premium payments framework intended to help ensure AV was sustainable into the future. In 2017 Google withdrew their Hangouts API breaking various functionality in the site. Sam and Lokesh Sharma replaced the API integration with manual updates, and Sam pulled in the agile-bot node microservice so that WSO now communicates directly with Slack to alert members about new online meetings and their recordings.

Approaches

Reading material

Tools

Relevant rake tasks

rake about                                             # List versions of a...
rake dump:event                                        # Dump Event model t...
rake dump:event_instance                               # Dump EventInstance...
rake dump:event_instance_all                           # Dump EventInstance...
rake fetch_github:content_for_static_pages             # Get github content...
rake fetch_github:readme_files                         # Load PITCH/README ...
rake fetch_github_commits                              # This task is calle...
rake geocode:all                                       # Geocode all object...
rake mailer:send_welcome_message                       # sends welcome emai...
rake middleware                                        # Prints out your Ra...
rake modify_event_participation                        # Modifies the event...
rake paypal:create_paypal_plans                        # Create paypal plans
rake stats                                             # Report code statis...
rake tmp:clear                                         # Clear cache, socke...
rake tmp:create                                        # Creates tmp direct...
rake user:create_anonymous                             # Creates an anonymo...
rake vcr_billy_caches:reset                            # resets all vcr and...
rake zeitwerk:check                                    # Checks project str...

Updating the pages requires the administrator to run the rake fetch_github:content_for_static_pages task.