(MVP) A platform for DV survivors with anonymous donors through Stripe-powered support.

— adoptABLE

MVP
React
Node.js
GraphQL
Express.js
MongoDB
Mongoose
Apollo
JWT
Stripe

adoptABLE is a full-stack MERN application built to support domestic violence survivors by enabling anonymous connections between families in need and donors who want to help. The core goal was to create a secure, private, and compassionate space for vulnerable users, while maintaining a robust, modern web architecture.


The frontend is developed using React 18 and styled with custom components. It includes dynamic routing, authenticated views, and conditional rendering based on user roles. Donors and families can both create accounts, but families are anonymized by default to protect their identities. The app allows users to browse a list of families in need and view details about what each family requires. Once a donor selects a family to help, they can initiate real-time conversations and send donations through a Stripe-powered payment system.


The backend is powered by Node.js with Express, and leverages GraphQL via Apollo Server for flexible API queries. Data is stored in MongoDB using Mongoose as an ODM layer. Authentication is handled via JWT, allowing for secure, stateless login sessions across the app. Protected routes and role-based logic are implemented on both the server and client sides.


Key features:

  • - Anonymous family profiles, viewable by donors without exposing sensitive information
  • - Donor accounts with the ability to "adopt" families and initiate financial support
  • - Real-time, in-app messaging between families and donors using Apollo subscriptions (where supported)
  • - Stripe integration for handling donations, tied directly to individual family profiles
  • - Profile management for users, allowing them to update information or view adoption history
  • - Modular, scalable component structure on the frontend with reusable UI patterns

This project highlights my ability to build secure, mission-driven applications using a modern full-stack JavaScript stack. It demonstrates technical proficiency across both frontend and backend development, effective use of GraphQL and RESTful patterns, and third-party service integrations like Stripe and JWT. adoptABLE was a team collaboration, but I led the architecture, data modeling, and end-to-end feature development, ensuring high-quality UX and maintainable code practices throughout.


Contributors:

Matthew Barry

Amber Phillip

Austin Ewell

Riley Smith

Project Views:

Homepage

Homepage

Family Listings

Family Listings

Adoption Page

Adoption Page

Messaging Interface

Messaging Interface

Profile View

Profile View

Donation Page

Donation Page

Product Management

Product Management

Edit Account Info

Edit Account Info

Adopted Families Overview

Adopted Families Overview