Skip to content

Pulling the Plug on Swachalit: Migrating null Event Management Platform #147

@abhisek

Description

@abhisek

Background

We started development of swachalit back in 2012 or so. It was built using Rails 3.x then migrated to Rails 4.x. While we planned for Rails 5.x upgrade, it never materialized due to lack of involvement from initial developers. Swachalit code base has reached a stage where it is very difficult to maintain due to legacy Rails and other dependencies. To add to that, we are facing challenges related to unknown cloud account dependencies for email, Google SSO, maps and other services. They were provided by volunteers and known to the rest of the team only when they stop working. A complete rewrite of code base and an organized system administration practice, going beyond an individual, is required to maintain Swachalit with the necessary confidence and SLA to meet the requirements of the null Community which has significantly grown over the years.

EOL for Swachalit

We did try to maintain Swachalit using community support but failed to do so. Primarily we failed to build the dev community backing Swachalit development. At this point we feel we are unable to sustain development and maintenance of Swachalit. Due to this, we will migrate Swachalit i.e. null's Event Management platform from in-house developed custom application to an online hosted service or a self-hosted OSS based application

Migration Process

We will follow a migration process that consist of

  1. Identify the user personas and use-cases for Swachalit
  2. Identify 3rd party services or OSS apps that can meet the use-cases
  3. Announce sunset window and cut-over date
  4. Data migration to the new service
  5. Phase out existing service

Swachalit Use-cases

Swachalit application has the following user personas

  1. Admin
  2. Chapter Lead
  3. Speaker
  4. Attendee

Use-cases

Admin

  • Create chapter
  • Assign registered users as chapter leads for a given chapter
  • Send custom email to a single user or to an entire chapter
  • Manage custom pages
  • System observability

Chapter Lead

  • Create event
  • Publish event
  • View registrations
  • Create venue for event hosting

Speaker

  • Update event details for which a user is assigned as a speaker

Attendee

  • Register for event
  • Delete registration for an event
  • Edit profile
  • Request for session
  • Request for being a volunteer

Other

  • Notification to speakers (reminders) to update event detail
  • Notification to participants
  • Google maps integration
  • Twitter announcement integration through IFTTT

Things we need to do

  • Survey of solution to migrate to
  • Notify the community about this migration
  • Set feedback window before finalising solution
  • Solution POC / evaluation
  • Migration plan
  • Announce migration completion date & sunset window
  • Finalise early adopters (1-2 chapters)
  • Get early adopters run a complete event management workflow on the new solution
  • Notify community about POC completion
  • Migrate existing data from Swachalit
  • Shutdown swachalit servers

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions