UnconditionedLife / smum

SMUM Checkin for Santa Maria Urban Ministries (San Jose, California)
https://www.santamariasj.org
3 stars 0 forks source link

AppSync - Redesign Data Structure #76

Closed UnconditionedLife closed 7 months ago

UnconditionedLife commented 5 years ago

Objective:

Redesign Data structure at these three levels:

  1. DynamoDB
  2. GraphQL
  3. Client Data Objects

Data Tables

  1. SM-Users (User object)
  2. SM-Settings (Settings object - includes serviceCategories list)
  3. SM-ServiceTypes (ServiceType object)
  4. SM-ClientID (contains the latest new client id - used to create new client records)
  5. SM-Clients (Client object)
  6. SM-Services (Service object)

Core Data Objects (object sub-types)

  1. User (user record in DynamoDB - currently not the same as the Cognito user record)
    • userRole (Volunteer, Admin, TechAdmin)
  2. Settings (global app settings - currently not user specific)
  3. ServiceTypes (SMUM service types - not addressing 'Programs' only Foodbank types)
    • serviceCategory (mix of service type [food, clothing...] and event-based [back to school, Christmas...] categories)
  4. Client (client record with nested dependents - nested lastServed object needs a redesign)
    • isActive (Client, Inactive, NonClient - mixes clientStatus [active/inactive] with clientType [client, emergencyClient (out of area)] )
  5. Services (record of a service that was rendered)
    • serviceValid (Boolean - false = service was deleted)
    • serviceCategory
    • serviceTypeId (service type)

ServiceTypes Structure (proposed - to be validated with client)

We will need to capture the Program types from the client for the non-foodbank programs i.e. ABC Playtime, Studio - After-school Homework Center.

  1. serviceProgram (uppermost segmentation)

    • Administration Program
    • Back to School Program
    • Clothing & Warmth Program
    • Education Program
    • Food Program
    • Gift Program
    • Hygiene Program
    • Household Items Program
    • Summer Camp
    • Tax Preparation Program
  2. serviceCategory / serviceType (a subset of serviceProgram i.e. Type of Program)

    • Administration Program
      • Client Validation (category)
        • Proof of Address Validation (type)
      • Dependent Validation (category)
        • Age of Majority Deactivation (type)
        • School Grade Validation (type)
    • Back to School Program
      • First Step (category)
        • First Step Backpack (type)
    • Clothing / Warmth Program
      • Clothes Closet (category)
        • General Clothing (type)
      • Warmth (category)
        • Blanket (type)
        • Jacket (type)
        • Poncho (type)
        • Sleeping Bag (type)
        • Socks (type)
    • Education Program
      • Pre-School (category)
        • ABC Playtime (type)
      • School Age (category)
        • Studio - After School Homework Center (type)
        • Teen Learning Program (type)
      • Adult (category)
        • ESL Tutoring (type)
        • Special Adult Education (type)
    • Food Program
      • Food Box (category)
        • USDA (type)
        • NonUSDA (type)
      • Turkey (category)
      • Food Gift Card (category)
    • Gift Program
      • Child Gift (category)
        • Child Gift (type)
        • Child Gift Card (type)
      • Homeless (category)
        • Homeless Gift Card (type)
    • Hygiene Program
      • Child Hygiene (category)
        • Diapers (type)
      • Homeless Hygiene (category)
        • Female Hygiene Kit (type)
        • Male Hygiene Kit (type)
    • Household Items Program
      • Household Items (category)
        • Household Item (type)
    • Summer Camp
      • ??? (category)
    • Tax Preparation Program
      • ??? (category)
  3. serviceEvent (event grouping - seasonal or continuous events - allows for event grouped reporting)

    • Back to School
    • Bimonthly Service (regular service)
    • Christmas
    • Thanksgiving
    • Winter Warming
UnconditionedLife commented 7 months ago

redone with React