Overview of My Submission
Klay is an end-to-end encrypted chat application.
It is built with the Vue-powered framework called Quasar, which allows you to create applications for the web, desktop and mobile all under one codebase.
The encryption is done using the WebCrypto APIs, so your private keys are never generated from the server.
The public key is stored unencrypted in Appwrite to allow other users to chat with you.
Appwrite Realtime is responsible for making the chat application function in real time.
You can encrypt all your messages with a PIN and restore them on another device using that PIN.
Get the Android app: https://appwrite.arnu515.tk/v1/storage/buckets/files/files/klay.apk/download?project=klay
Use the web version: https://klay-arnu515.vercel.app
(You may get a Play Protect error while installing the app. You can ignore that error. It happens because the certificate is self signed).
You can also compile the application from source. The instructions on how to do that are in the Github repo
Submission Category:
Mobile Moguls
Link to Code
klay
Klay is an end-to-end encrypted chat app.
Works on the web, and as a mobile app.
Dev.to Post
https://dev.to/arnu515/introducing-klay-an-end-to-end-encrypted-chat-application-6lp
URL
Web: https://klay-arnu515.vercel.app/
Android: https://appwrite.arnu515.tk/v1/storage/buckets/files/files/klay.apk/download?project=klay
(You may get a Play Protect error while installing the app. You can ignore that error. It happens because the certificate is self signed).
Compile the app on your own
- Clone the repo
- Make sure you have completed the required environment setup
- Run
yarn install
in the frontend directory, andyarn install
in thefrontend/src-capacitor
directory. - Add an
.env
file with these contents in the frontend directory:
# Appwrite stuff
APPWRITE_ENDPOINT=https://appwrite.arnu515.tk
APPWRITE_PROJECT_ID=klay
# URL of the backend
BACKEND_URL=https://klay-backend-production-69e3.up.railway.app/
- Run
npx quasar run -T capacitor -m android/ios
depending on your phone's operating system.
Additional Resources / Info
This application was actually a pretty hard thing to make. Mostly because this was my first time using Quasar, first time developing for Android, and first time using cryptography techniques straight in the browser.
Appwrite made it a breeze by allowing me to focus on only the important stuff and leaving the other stuff like authentication to itself.
The hosted version may be a bit slow because the python backend is hosted on a free tier.
Screenshots:
Top comments (0)