Join the Custom Software Maintenance Team!


Catalyst has benefitted over the past 2-3 years by the use of specialized software developed for us by Computer Science capstone students at Oregon State University.  This software has revolutionized how we accept applications for our services, carry-out the vetting process, and communicate with various members of our staff and project leaders.  This software is integral to Catalyst’s ability to provide help to over 50 clients each year.  We are currently in need of volunteers to provide support for this wonderful tool.

The AppVetting Software consists of a “front end” browser-based web service primarily using JavaScript and a “back end” database implemented using MongoDB. All of it is implemented via the cloud using Amazon Web Services (AWS) EC2 virtual machines and S3 storage services for backup. 
The software itself needs to stay current with tool and system updates, and there are refinements in the application itself that we would like to design and implement. The effort required is not extensive, provided the volunteers in the software team have the requisite skills. 

Following is a summary of the roles we are looking for.  NOTE: Depending on interest, availability and skill set, one volunteer may perform multiple roles. 

  • General Attributes for Volunteers: 
  • Team player ("plays well with others")
  • Passionate about helping others
  • Committed to the CPNW mission to “meet the needs of under-resourced people in our community” 
  • Flexible and adaptable

ROLE DESCRIPTIONS:

CTO - The ‘chief technology officer’ is responsible for understanding the current needs for the AVT, planning and organizing efforts to address those needs. It involves:

  • Setting technology and service goals to support Catalyst NW operations 
  • Organizing meetings and interactions among supporting teams and team members
  • Assigning tasks to team members (based on volunteer skills and goals)
  • Motivating volunteers by expressing appreciation of team efforts, showing the impact of their work, etc. 

Business System Analyst (BSA) - The ‘BSA’ is a key role to bring together an understanding of user needs and track implementation with the software teams. It involves: 

  • Gathering requirements from users for addressing problems that arise and developing proposals for AVT improvements.
  • Should have a thorough understanding of AppVetting Tool. 
  • Awareness of software development tools in use:
  • MongoDB features, functions and capabilities
  • Javascript and NodeJS
  • AWS
  • Github 
  • Being available to AVT users when help is needed ("willing to pick up the phone")
  • Being considered the AppVetting Tool Subject Matter Expert
  • Understanding front-end of development process
  • Understanding the Support Plan and how it is maintained and implemented
  • Estimated time: <4-10 hours per month

SW Maintenance Team - The SW maintenance team manages the resources (current hosted at Amazon Web Services (AWS)) to support the effective and efficient operation of the AVT as well as appropriate access to resources by the developers. This is done primarily through the AWS console for management with primary needs: 

  • IAM for AWS user access and controls to manage Identities, Roles, Key assignment & refresh, etc. While everything is functional now, there are a limited number of users authorized to access the production instance, many of them have not been refreshed since start up. Best practices should be applied to maintaining users, roles, permissions/authorizations and fresh keys for both EC2 instances (production and development) and S3 buckets.
  • EC2 resource allocation and status including management of instances, Images, Templates, Snapshots, etc. to ensure consistency in the environments for production and development and up to date operating system environments.
  • S3 management of buckets to ensure separate, secure storage of production data and development data, consistent and reliable backups & recovery, obsolete data is safely discarded.
  • Other maintenance and enhancements related to Elastic Load Balancing (HTTPS vpn access through Godaddy hosted catalystnw.org domain & load balancing services, etc.)
  • Estimated time: <4 hours per month

SW Developers 
There are a number of user interface bugs, fixes and enhancements that have not been addressed. The code is hosted on Github, and has both production and development branches to support development and testing without interfering with the production use. 

  • Develop a consistent sw development and maintenance workflow in Github. 
  • Modify JavaScript / NodeJS code to address current open issues, make changes necessary to address security vulnerabilities as they are identified. 
  • Develop MongoDB database enhancements to the AppVetting Tool functionality that may include adding new fields, utilizing reporting tools and propagate changes through UI. 
  • Any other changes to improve the consistency and reliability of software use. 
  • Tools in use: 
    • Javascript 
    • Nodejs 
    • HandlerBars 
    • GitHub
    • MongoDB UI
  • Estimated time: <4 hours per month

DataBase Analyst (DBA) - Develop MongoDB database enhancements to the AppVetting Tool functionality that may include adding new fields, utilizing reporting tools and propagate changes through UI.

  • MongoDB
  • AWS DB (to evaluate what would be required to move to AWS DB to make support simpler.) 
  • Estimated time: <2 hours per month

Software code base: 

  • AppVetting software code can be found at https://github.com/dandahle/Catalyst-AppVetting
  • Current open issues can be found at https://github.com/dandahle/Catalyst-AppVetting/issues

Background

Catalyst Partnerships NW (CP-NW) has a robust process to ‘vet’ applications for people needing home repairs. The process starts with an application providing home and income information, requested repairs and some background questions to understand the applicant’s “story” – where they are now and a little about how they got there. The income portion of the application basically follows Federal HUD guidelines for needs-based programs. The “story” helps us understand what the applicant’s emotional and spiritual needs are, and of course, the home repairs give us an idea of what they would like done. 
Once the financial needs-based criteria are established a team visits the client’s home to do a “Site Assessment” to get to know the client, put eyes on the requested repairs and anything else needed, as well as informal verification of the financial need. If everything checks out and the work is within scope for Catalyst projects, the client’s application is recommended to the board for approval. Once approved, the client application moves to the Project Phase. 
Automating the Application and Vetting process

The vetting process was an amalgamation of paper applications, Google docs and handwritten notes. In the summer of 2016 Dan Dahle, as part of his SVP Encore project, worked on CP-NW’s behalf with Professor Brewster at the Oregon State Computer Science department to develop software that would automate and ease staff access to their application vetting process. From 2016 to 2018 three OSU capstone class teams worked to develop web-based database software to implement the process flow designed by Shawn Mitchell, CP-NW founder and executive director. 

Mike Haines Jr. was an OSU capstone student who formed the first team (the Kohn team) in the Fall 2016 with his proposal. Mike led the UI design and implementation that developed the software architecture and implemented a prototype. This prototype was picked up and enhanced by a second OSU team (Capricornus) in the Winter 2017 term. The refined and enhanced software was put into production for Catalyst using cloud services (Amazon Web Services) in April of 2017. In the Fall of 2018 a third OSU team (Corvus) extended the functionality to support the project planning phase of CP-NW’s workflow as well as making numerous fixes and enhancements the original Application Vetting software tools. 

Today:
The AppVetting Tool software has been used by Catalyst office and volunteer staff since April of 2017, and has become an essential tool for efficient and effective staff and volunteer coordination through the application and project planning processes. 
This software continues to be used daily and is remarkably stable on AWS EC2 instances and S3 buckets. However, we need to put together a current support plan for maintaining access to and integrity of the cloud services as well as implement a number of much needed software upgrades. We are looking for volunteers willing to invest a few hours a month to help organize and implement the plan. 

Interested in Volunteering?
Contact Shawn Mitchell (shawn@catalystnw.org) and/or Dan Dahle (dandahle@dedahle.com)

 

vertical-divider-content
group-nav-footer
button-get-involved
button-need-help
button-help-by-making-a-donati
group-nav-footer
CNW Button for website
Catalyst-Partnerships-NW-shado