https://github.com/zernonia/secret-diary
https://github.com/zernonia/secret-diary
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/zernonia/secret-diary
- Owner: zernonia
- Created: 2021-08-03T06:04:46.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-19T15:06:58.000Z (about 4 years ago)
- Last Synced: 2025-02-14T10:56:34.856Z (8 months ago)
- Language: Vue
- Homepage: secret-diary.vercel.app
- Size: 1.33 MB
- Stars: 18
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Secret Diary
Secret Diary Apps (submission for Supabase Hackathon)
View Demo
ยท
Report Bug
ยท
Request Feature

## ๐ 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)

### ๐จโ๐ป 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) too2. 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/). 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