-
Notifications
You must be signed in to change notification settings - Fork 12
Description
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
- Identify the user personas and use-cases for Swachalit
- Identify 3rd party services or OSS apps that can meet the use-cases
- Announce sunset window and cut-over date
- Data migration to the new service
- Phase out existing service
Swachalit Use-cases
Swachalit application has the following user personas
- Admin
- Chapter Lead
- Speaker
- 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