An open API service indexing awesome lists of open source software.

https://github.com/zernonia/secret-diary


https://github.com/zernonia/secret-diary

Last synced: 6 months ago
JSON representation

Awesome Lists containing this project

README

          





Logo

Secret Diary


Secret Diary Apps (submission for Supabase Hackathon)




View Demo
ยท
Report Bug
ยท
Request Feature

![Supabase Schema](src/assets/preview.png)

## ๐Ÿš€ Features

- ๐Ÿ”จ No installations required
- ๐Ÿ”’ Data can be hosted on your own [Supabase](https://supabase.io/) 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](src/assets/meme.gif)

### ๐Ÿ‘จโ€๐Ÿ’ป 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)](https://supabase.io/blog/2021/07/28/supabase-auth-passwordless-sms-login)**

- 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](https://github.com/supabase/supabase-js/issues/222) 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](https://supabase-schema.vercel.app/). ![Secret Diary Schema](src/assets/schema.png)

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

- [Vue 3](https://v3.vuejs.org/)
- [Vite](https://vitejs.dev/)
- [WindiCSS](https://windicss.org/)
- [Supabase](https://supabase.io)

## ๐ŸŒŽ Local Development

### Prerequisites

Yarn

- ```sh
npm install --global yarn
```

### Development

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

## ๐Ÿ“œ License

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

## ๐Ÿ“ง Contact

Zernonia - [@zernonia](https://twitter.com/zernonia) - zernonia@gmail.com