Gatsby + Userbase

=

Encrypted menstrual cycle tracker

@raae

@OlaHolstVea

Don't be evil

vs.

Can't be evil

End-to-end encryption

Userbase

userbase.com

init

Javascript SDK

openDatabase
insertItem
updateItem
deleteItem
putTransaction

signUp
signIn
signOut
forgotPassword
updateUser
deleteUser

purchaseSubscription
cancelSubscription
resumeSubscription
updatePaymentMethod

init

Javascript SDK

openDatabase
insertItem
updateItem
deleteItem
putTransaction

signUp
signIn
signOut
forgotPassword
updateUser
deleteUser

purchaseSubscription
cancelSubscription
resumeSubscription
updatePaymentMethod


const TodoList = ({ user }) => {

  const [todos, setTodos] = useState([]);

  useEffect(() => {
    const initTodos = async () => {
      await userbase.openDatabase({
        databaseName: "todos",
        changeHandler: (data) => {
          setTodos(data);
        },
      });
    };

    if (user) {
      initTodos();
    } else {
      setTodos([]);
    }
  }, [user]);
}

openDatabase

const TodoList = ({ user }) => {

  const [todos, setTodos] = useState([]);

  useEffect(() => {
    let ignore = false;
    
    const initTodos = async () => {
      await userbase.openDatabase({
        databaseName: "todos",
        changeHandler: (data) => {
          if (ignore) return;
          setTodos(data);
        },
      });
    };

    if (user) {
      initTodos();
    } else {
      setTodos([]);
    }
    
    return () => {
      ignore = true;
    };
    
  }, [user]);
}

openDatabase

init

Userbase Javascript SDK

openDatabase
insertItem
updateItem
deleteItem
putTransaction

signUp
signIn
signOut
forgotPassword
updateUser
deleteUser

purchaseSubscription
cancelSubscription
resumeSubscription
updatePaymentMethod

raae.codes/gatsby-days

https://

Twitter and Github: @raae

Gatsby + Userbase = Encrypted menstrual tracker

By Benedicte Raae

Gatsby + Userbase = Encrypted menstrual tracker

Slides from Gatsby Virtual Days 2020. Full video on YouTube: https://youtu.be/kKp7Syxyxnwhttps://youtu.be/kKp7Syxyxnw

  • 202