Rebuild-Black-Business / RBB-Website

Website to help connect black-owned businesses with consumers and resources
https://www.rebuildblackbusiness.com/
MIT License
119 stars 75 forks source link

[Feature] Improve New Business Registration Form to Leverage API & Editorial Pipeline #323

Open elchris opened 4 years ago

elchris commented 4 years ago

User Story

As someone who knows of a Black-Owned Business, or the owner of a Black-Owned Business I want to Register a New Business but to also be guided as to whether the Business already exists, and be offered the ability to submit updates to the Business. So I can avoid duplicating work or submitting multiple entries for the same Business.

Background

At React Rally we announced the newest version of our API, which is now public-facing:

https://api.rebuildblackbusiness.com/

It introduced two new endpoints:

Current Situation

We recently greatly improved our "New Business" "Registration" form which can be found off of the Listings Page: https://www.rebuildblackbusiness.com/businesses/

All submissions are funneled into a new entry into the production AirTable with the field "Approved" set to false, such that someone on our staff might review the submission, make any necessary changes and Approve it. Once that's done, the API application automatically synchronizes all of the AirTable data into its database.

This is our current Prod AirTable: https://airtable.com/tblz9khS4nskrHYMF/viwYkK4LF8DPuUaYO?blocks=hide

Current Situation: Some Drawbacks

There currently is no easy way to signal to the user that a business's name may already exist in our database, and in some instances, a user may want to send-in multiple revisions. While the API does support the ability to search a business by name via the "search" parameter on /api/v1/businesses, it's also not being surfaced to end-users on the web site, so it's very difficult for them to tell whether a business already exists in our system.

New Possibilities

As part of the latest API release, we now have a dedicated AirTable base designed to ingest new listings or desired updates to existing listings. The system knows to make the appropriate correlations on "updates".

Here is our Editorial Pipeline Base: https://airtable.com/tblXIjeThMr3lvs45/viwmTJ1MSxCyoIEge?blocks=hide

It is essentially a clone of the main AirTable Base, with a number of extra fields dedicated to the Editorial Lifecycle Process, including:

When a Developer initiates a POST or a PATCH operation as specified in the API Doc, a new entry will be automatically added into this AirTable base, and the developer will be able to track the progress of their submission in their "My Editorial Queue" in the Portal.

Desired Solutions

With these new capabilities, we should be able to offer to the end-user a "guided experience" to their submission. There could be any number of ways to execute it from a UI standpoint but at its core we should consider:

Acceptance Criteria

Possible API Error Messages coming-back from the API when Submitting a New Business

Enhancing the Existing New Business Submission Form

Within the scope of this experience, we're not yet concerning ourselves with updating an existing business.