State Shape - miketu926/GetStarted GitHub Wiki

Sample State

// OVERVIEW
  {
    entities:
      projects:
      users:
    ui:
    errors:
    session:
  }
// END OVERVIEW

{
  entities: {
    projects: {
      1: {
        id: 1,
        project: "Handmade Smart Leather Wallet",
        description: "Leather handmade smart wallet for everyday needs",
        category: "Design",
        location: "New York",
        goalAmt: 50000,
        fundedAmt: 250000,
        durationDays: 5,
        backers: 9269,
        userId: 2,
        tier1: 10,
        tier2: 50,
        tier3: 100,
        imgUrl: "https://bit.ly/2su6ig9"
      },
      2: {
        id: 2,
        project: "Monopoly App Academy Edition",
        description: "The timeless game that everyone loves with a tech twist",
        category: "Games",
        location: "Florida",
        goalAmt: 20000,
        fundedAmt: 17000,
        durationDays: 27,
        userId: 3,
        tier1: 25,
        tier2: 250,
        tier3: 500,
        imgUrl: "https://bit.ly/2su6ig9"

      },
      3: {
        id: 3,
        project: "Next Gen Laptop",
        description: "A laptop that exceeds current technology",
        category: "Technology",
        location: "California",
        goalAmt: 230000,
        fundedAmt: 7000,
        durationDays: 5,
        userId: 4,
        tier1: 1500,
        tier2: 2800,
        tier3: 10000,
        tier3: 50000,
        imgUrl: "https://bit.ly/2su6ig9"
      }
    },
    users: {
      2: {
        id: 2,
        email: "[email protected]",
        name: "steve",
        profileImgUrl: "https://bit.ly/2su6ig9",
      },
      3: {
        id: 3,
        email: "[email protected]",
        name: "johnson",
        profileImgUrl: "https://bit.ly/2su6ig9",
      },
      4: {
        id: 4,
        email: "[email protected]",
        name: "mike",
        profileImgUrl: "https://bit.ly/2su6ig9",
      }
    }
  },
  ui: {
    loading: true/false
  },
  errors: {
    login: ["Your username and/or password do not match"],
    createUser: ["This email already exists"],
    projectName: ["Project name cannot be blank"],
    projectDescription: ["Project description cannot be blank"],
    projectCategory: ["Project category cannot be blank"],
    projectGoalAmt: ["Project goal amount cannot be blank"],
    projectDuration: ["Project duration cannot be blank"],
    projectLocation: ["Project location cannot be blank"]
  },
  session: { currentUserId: 25 }
}