App Development Process Documentation

Purpose

This document outlines our standard development process to ensure:

  • Clean, peer-reviewed, production-grade code

  • Full visibility into feature and bug tracking

  • Proper staging verification before release

  • Professional documentation of releases

We are using the Tagging + Milestones method with a Dev → Staging / Pre-Production / Demo → Production flow.

High-Level Workflow

Create Issue → Prioritize → Create Branch → Open PR → Review by Peer → Merge → Deploy to Staging → Staging Approval → Tag Final Release → Deploy to Production

1.  Create and Assign Issues

  • Every task must have a GitHub Issue.

  • Assign it to the appropriate Milestone (e.g., Release 1.0.0).

  • Add relevant labels (Feature, Bug, Chore, etc.).

2.  Prioritize

  • Every issue will be prioritized, assigned to you and put in “Ready”

  • Every issue will need an estimate of time before you start working on the issue.  Issues without an estimate of time before started may be disputed on invoicing or payment.

  • Every issue will need the following :

    • Label

    • Type

    • Priority

    • Size

    • Estimate

    • Milestone (or Epic)

3.  Create a Branch

  • Naming format:

    • feature/<short-description>

    • bugfix/<short-description>

    • chore/<short-description>

·       Example: feature/fraud-detection

4.  Open a Pull Request (PR)

  • Link to the Issue using: Closes #123

  • Peer Review

  • No self-approvals.

5.  Peer Review

  • Every issue will need to be reviewed by a peer

  • Peer review should include code specific, testing and documentation

  • Recommendations and comments should be made on the issue itself within GitHub

6.  Merge

  • Must pass all CI/CD checks.

  • Merge into main branch.

7.  Draft a Staging Release

  • Include full draft release notes.

  • Deploy to Staging.

8.  Staging Testing and Approval

  • Ben will test the staging release for UI/UX, otherwise peer review:

    • Verify functionality

    • Verify stability

    • Verify fixes/features

9.  Finalize Production Release

  • After approval:

    • Create a final tag (e.g., v1.0.0).

    • Create a Final GitHub Release (not marked pre-release).

  • Deploy code to Production.

Example Release Flow Checklist

Templates

Issue Template

Summary

  • Brief description of task.

Acceptance Criteria

  • Clear, testable goals

Related

  • Milestone: Release v1.0.0

  • Epic: [Optional]

GitHub Staging Release Template (Draft)

** Work in Progress. Do not use yet. **

Release v1.0.0-rc1 (Draft / Pre-release)

Features

  • Added Fraud Detection Engine

  • Implemented ACH Payment Support

Fixes

  • Resolved duplicate transaction bug

Testing Instructions

  • Deploy to Staging

  • Test Credit Card + ACH payments

  • Review Admin Dashboard for merchants

Best Practices

Pull Request Template

Summary

  • Describe what was added/changed.

Related Issues

  • Closes #123

Reviewer

  • Assigned peer reviewer.

Testing Instructions

  • Steps to manually test the change.

Checklist

  • Code builds without errors

  • Unit tests (if applicable)

  • Linked to Issue

  • Reviewed by peer

  • Deployed to Staging

GitHub Final Release Template (Production)

Release v1.0.0

What's New

  • Added Fraud Detection Engine

  • Integrated ACH Payment Support

  • New Admin Dashboard for Merchant Management

Fixes

  • Fixed duplicate payment issues

  • Improved payment processing performance

Deployment Notes

  • No database migrations required

  • Confirmed working in staging by Ben

Approved for Production

  • No PR merged without peer review.

  • No code deployed to production without Ben's staging approval for UI/UX or peer review.

  • Every Issue and PR properly linked.

  • Every Release properly tagged and documented.

  • All issues must have time estimate prior to starting

  • All issues must be prioritized and assigned to developers

Closing Summary

Following these processes can be annoying and tedious, but it ensures that we deliver the highest quality code with full visibility, auditability, and trust. It’s one of our highest priorities and it’s imperative that we all do things the same way. But more than that—it reflects who we are and the standards we choose to uphold. As we build one of the best payment platforms in the industry, these practices serve as the foundation for scalability, accountability, and excellence.

Our commitment to quality, consistency, and operational clarity isn’t just about process—it’s about creating a culture of ownership and integrity. Every line of code, every pull request, and every release is an opportunity to reinforce our reputation, earn the trust of our partners, and prove that great software is built by disciplined teams who care.

Detailed Process