All Projects → AgileVentures → Websiteone

AgileVentures / Websiteone

Licence: other
A website for Agile Ventures

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Websiteone

LocalSupport
A directory of local support services and volunteer opportunities
Stars: ✭ 60 (-54.55%)
Mutual labels:  heroku, agile, continuous-integration, rspec, rails-application, continuous-deployment, cucumber, rails5, ruby-on-rails
Project Dashboard With Django
Agile Project Management dashboard with Django REST and Vue.js
Stars: ✭ 25 (-81.06%)
Mutual labels:  heroku, agile, postgresql
Rails new
A thoughtfully designed template for building modern Rails apps. Get started in minutes instead of hours 🔥🚀
Stars: ✭ 151 (+14.39%)
Mutual labels:  heroku, ruby-on-rails, rspec
Intermine
A powerful open source data warehouse system
Stars: ✭ 195 (+47.73%)
Mutual labels:  postgresql, open-source, opensource
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+64.39%)
Mutual labels:  heroku, continuous-integration, continuous-deployment
Haiku
🚀 Instant Heroku deploys from GitHub branches
Stars: ✭ 17 (-87.12%)
Mutual labels:  heroku, continuous-integration, continuous-deployment
Dashvis
An open-source Dashboard built for users, to organize their resources via Tables and Folders.
Stars: ✭ 31 (-76.52%)
Mutual labels:  ruby-on-rails, rails5, open-source
Avideo
Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP
Stars: ✭ 1,329 (+906.82%)
Mutual labels:  open-source, opensource
Rox
🌍 BeWelcome lets you share a place to stay, connect with travellers, meet up and find accommodation on your journey. It is and will always be a free, open source, non for profit, democratic community.
Stars: ✭ 95 (-28.03%)
Mutual labels:  open-source, opensource
Covid19 scenarios
Models of COVID-19 outbreak trajectories and hospital demand
Stars: ✭ 1,355 (+926.52%)
Mutual labels:  open-source, opensource
Laracom
Laravel FREE E-Commerce Software
Stars: ✭ 1,570 (+1089.39%)
Mutual labels:  open-source, opensource
Dyn365 Ce Vsts Tasks
VSTS Extension for Dynamics 365 Customer Engagement
Stars: ✭ 94 (-28.79%)
Mutual labels:  continuous-integration, continuous-deployment
Ecs Nginx Proxy
Reverse proxy for AWS ECS. Lets you address your docker containers by sub domain.
Stars: ✭ 93 (-29.55%)
Mutual labels:  continuous-integration, continuous-deployment
Github Slug Action
GitHub Action to expose slug value of GitHub environment variables inside your GitHub workflow
Stars: ✭ 96 (-27.27%)
Mutual labels:  continuous-integration, continuous-deployment
Reactchat
A chat app built with React.js and ActionCable in Ruby on Rails 5.1
Stars: ✭ 90 (-31.82%)
Mutual labels:  ruby-on-rails, rails5
Pipelines
Build pipelines for automation, deployment, testing...
Stars: ✭ 105 (-20.45%)
Mutual labels:  continuous-integration, continuous-deployment
Docker For All
Docker applied in development, devops, testing, product management etc.
Stars: ✭ 88 (-33.33%)
Mutual labels:  continuous-integration, continuous-deployment
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-22.73%)
Mutual labels:  continuous-integration, continuous-deployment
Sshdeploy
A command-line tool that enables quick build and run deployments over SSH.
Stars: ✭ 131 (-0.76%)
Mutual labels:  continuous-integration, continuous-deployment
Activerecord Pg enum
Integrate PostgreSQL's enumerated types with the Rails enum feature
Stars: ✭ 125 (-5.3%)
Mutual labels:  postgresql, ruby-on-rails

Build Status Maintainability Test Coverage

AgileVentures WebSiteOne

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 all the machinery for Premium membership payments.

Installation

See the Project Setup documentation

Usage

🚧 UNDER 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

  • Agile Development
    • We try to work from user stories in regular sprints, offer daily standups, and get regular feedback from end users. We try to reflect regularly on our process and experiment with incremental changes to how we get things done.
  • Behaviour Driven Development (BDD)
    • We use Cucumber and RSpec testing tools that describe the behaviours of the system and its units
    • We try to work outside in, starting with acceptance tests, dropping to integration tests, then unit tests and then writing application code
    • We do spike application code occasionally to work out what's going on, but then either throw away the spike, or make sure all our tests break before wrapping the application code in tests (by strategically or globally breaking things)
    • Where possible we go for declarative over imperative scenarios in our acceptance tests, trying to boil down the high level features to be easily comprehensible in terms of user intention
  • Domain Driven Design (DDD)
    • Sometimes we switch to inside out, trying to adjust the underlying entity schema to better represent the domain model
  • Self-documenting code
    • We prefer executable documentation (tests) and relatively short methods where the method and variable names effectively document the code

Reading material

Walkthroughs

  • An example of a simple interface change
    • Here is the original user story
    • Here is the original cucumber scenario
    • We did not write a spec, as this would have involved a view spec which we don't feel add any value
    • Here's the code that implemented the feature

🚧 UNDER CONSTRUCTION 🚧

  • An example of a new feature involving a database change ...
  • An example of a bug fix ...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].