Rita CMS

Club membership management WordPress app built with Microsoft Power Apps and Dataverse API

Company

JCMA Inc.

Role

WordPress Developer

UX Designer

Duration

2024, ongoing

Team

Software Development

The Product

Rita CMS powers up your club membership.

Rita CMS is a WordPress App that connects with Microsoft Power Apps for back-end functionality.

The problem

This project originally started as a rescue mission. My boss belongs to our town's Kiwanis chapter. From a national organization level, their current platform was being shut down.

The solution

Joe (my boss) and I stepped in to migrate Kiwanis data to a Microsoft Power Apps environment with Dataverse and then build out a completely custom front-end web app tailored to this club's needs.

Context

A custom, responsive WordPress app for club membership management.

Serving as the pioneering user group, the Valparaiso Noon Kiwanis club of 300+ members were the first give Rita CMS life. Kiwanis engages in community outreach programs, fundraising, accessible platform construction, house rehab, and exciting things that give back. The club uses the app to share files, create events and meetings, manage membership, use internal messaging, and much more.

Persona

Professionals, retirees, volunteers, and disable veterans.

Most of the users of Rita CMS are older aged, like 55+ and some of the oldest in late 80s. With againg comes a different ocular and motor experience of technology. However, the age range is varied. There are also younger folks. Outside of Noon Kiwanis, the Disabled American Veterans Chapter 80 of Indiana also uses Rita CMS. These folsk as you can imagine have differences in user experience. These challenges present a unique design opportunity.

Tech Stack

Power Apps for back-end, WordPress + PHP for front end, and DataPress API in the middle.

Rita CMS is built on a unique stack: Power Apps provides a friendly approach to database management. Using WooCommerce for user authentication, our team is able to extend this security level to develop cutom PHP endpoints inside. Using FetchXML and Twig templating, data is queried from Dataverse and then used to populate the WordPress front-end. I spent considerable time in this project working with all technologies listed and directly developing my wireframes with HTML, CSS, and PHP.

USER REQUIREMENTS

I engaged in interviews and brainstorming session with Kiwanis to define key needs that Rita CMS needs to robustly perform.

REQUIREMENTS

Elegant Admin Experience

Accessible, intuive user interface

The app's user interface needed to be accessible by multiple different kinds of user groups with different needs. To accomplish this goal, I endeadvored to create a design system that was sleek, easy, and comfortable to use. The system employs comfrtable colors of light blues, navys, and whites. I avoided anything that would be hard to see or affect colorblindness. In addition, I used lots of rounded edges, largers buttons, and larger, bold fonts.

Cross-device responsivity

With lots of different users on different browsers, iPhones, Androids, PCs, Macs, and whatever else... I put forth a crazy attention to detail on ensuring that Rita CMS works in all these contexts. I employed flexbox, grid, and CSS media queries to endlessly polish smooth-flowing layouts that fit every context.

Easy database access for admins

Given the nature of Power Apps and its friendly, approachable, low-code environment, those adminisators who need to access data and move things who have non-technical backgrounds have a powerful and easy approach to access and manage the data they need.

TECHNOLOGY

Fetch queries, caching, output buffering, looping, and more. I developed a lot of core skills in web functionality working on my first major full-stack web app.

TECH TOOLS

Modern, Flexible WordPress App

FetchXML for data retrieval

Most endpoints need to retrieve some kind of user-based data from Power Apps. A lot of my learning has been centered around to properly write and fromat FetchXML statements. Through, I've undesrstood how to pull in different Dataverse objects and find ways to filter them to pull the specific parameters or fields that I need.

Query string parameters

Another key functionality of the app is the ability pull in paremeters from different data objects and pass them to other endpoints via HTTP requests. Using different GET and POST methods allows to create user functionality allows us to create different interface pieces that users can interact and create their own content.

Customizable PHP endpoints

Every endpoint in our app comes from a PHP WooCommerce rewrite. Inside of that app, Fetch statements and Twig blocks are passed as PHP variables through a DataPress shortcode processor. Using PHP gives me the basis for a powerful, endlessly flexible and customizable means of creating a web app.

DELIVERABLE

I developed a custom app with over 80 modular endpoints. Users interact with a fully functional interface and update club data in real time. I've highlighted key functionality areas below.

DELIVERABLE

Club-Powered Features

01

Quick Actions

Users can make use of a key container of powerful, specific actions from most screens. These forms exist throughout the app in different texts. A user can add events, add files, and more.

02

Profile Creation

Users can fill out profile information to share with other club members. In addition, a club member can upload their beautiful photo.

03

Users can then navigate through a members directory and view different other profiles.

04

Committee Formation

By creating committees within your organization, you can effectively manage and host events for all of your volunteering needs. You can schedule events specifically for these moments, and reach out to all committee members inside.

05

Create events, attending meetings, and connect with club members.

RESULTS

Core Design Outputs

Custom Full-Stack WordPress App

"I spend more time completing work
and less time managing HOW to do that work."

400+

active users across three different organizations

Visibility Increase

"Where projects and tasks are at on the pike is much, much clearer now."

REFLECTIVE

Measuring Our Efforts

This project in its infancy was my first foray into a major development app. Let's look back after all this time.

Best Success

This has been a very fun project. Being so closely situated with the user groups has been awesome. I am also excited to learn more about server-side development with PHP, too.

Edits

It's hard to say what I would do differently because this work has been ongoing and a continuous educational journey. I am proud of my efforts to refactor. I think something that would have helped from the start was having properly scoped agile fatures around user stories and specific pull requests to help prjoct scope creeping.

In Progress

Some current features on the horizon that I plan to implement are different functionalities to further aid the messaging and file sharing functions. I am also seeking new ways to aid the UX on the front end. I've already implemented modularization of refactored endpoints to help the developer experience. I am also using output buffering and per user transient caching in PHP to save API calls and query data less unnecessarily.