Logo

Secret Diary

Secret Diary Apps (submission for Supabase Hackathon)

View Demo ยท Report Bug ยท Request Feature

Supabase Schema

๐Ÿš€ Features

  • ๐Ÿ”จ No installations required
  • ๐Ÿ”’ Data can be hosted on your own Supabase Instance
  • ๐Ÿšช Phone login, required OTP for initial Sign Up
  • ๐Ÿ‘€ No Sensitive info required
  • ๐Ÿคš Move your loving diary to Web

๐Ÿ“‡ Submission Info (for Hackathon)

Supabase Hackathon Meme

๐Ÿ‘จโ€๐Ÿ’ป Team

  • Zernonia (@zernonia)

Project Idea

I want to quickly built an app that utilized Supabase RLS and Storage policies, and suddenly thought of this Secret Diary idea on my bed, becauase.... what else requires more security than your very dear Diary ๐Ÿ“˜!

โšก How I utilize Supabase

  1. Supabase Phone Auth (new release)

    • Trying to re-create Real Diary experience where Privacy & Access is super important. Therefore, using OTP should be much safer for Web Applications.
    • Note: Due to Twilio Trial Version, I have to use verified Caller ID to pre-register 1 account for the judges (Login: +60172542822 , Password: 123456). Also, to prevent judges not able to login when I'm asleep, I had to use Phone + Password login instead.
    • From this project, I also discovered a Bug related to Phone Auth too
  2. Supabase Database

    • Trying to re-create the Real Diary experience where whatever the users has written down is automatically saved inside the diary, in this saved in Supabase Database.
    • To make sure data is secured, I've enabled RLS and created simple policies where auth.uid() = user_id for all SELECT, UPDATE, INSERT and DELETE.
    • Simple Schema for the project, generated from Supabase Schema. Secret Diary Schema
  3. Supabase Storage

    • Similarly, Real Diary has images pasted in it. Thus, Supabase Storage comes in handy where users can directly upload to the folder specific to them inside a bucket, thus allow to safe guard those assets.
    • To ensure personal images does not expose to other user, I've used the Storage Policies to quickly Give users access to own folder.

๐Ÿ”จ Built With

๐ŸŒŽ Local Development

Prerequisites

Yarn

  • npm install --global yarn

Development

  1. Clone the repo
    git clone https://github.com/zernonia/secret-diary.git
  2. Install NPM packages
    yarn install
  3. Run Development instance
    yarn dev

๐Ÿ“œ License

Distributed under the MIT License. See LICENSE for more information.

๐Ÿ“ง Contact

Zernonia - @zernonia - zernonia@gmail.com