diff --git a/content/projects/chatto-a-self-hosted-e2ee-chat-application.md b/content/projects/chatto-a-self-hosted-e2ee-chat-application.md index 338bebe..dcff1ff 100644 --- a/content/projects/chatto-a-self-hosted-e2ee-chat-application.md +++ b/content/projects/chatto-a-self-hosted-e2ee-chat-application.md @@ -1,9 +1,12 @@ +++ -title = "Chatto - A Self Hosted E2EE Chat Application" +title = "Chatto n" date = "2020-06-01T15:02:07+05:30" disable_comments = true draft = false +[sidebar] + disable = true + categories = [ "Projects" @@ -65,3 +68,30 @@ Chatto is a self hosted, end to end encrypted chat application. * **Frontend** - + Server side templating - Thymeleaf + JS - TypeScript, Browserify (and plugins like tsify), Terser, Grunt, Yarn + * Templating using Handlebars + +## Preview + +### Design + ++ **Full layout** +

![Preview](/img/projects/chatto/chatto-preview-main.png) + Design adapted from [bootsnip](https://bootsnipp.com/snippets/nNg98)

++ **Mobile layout**
+ The UI uses bootstrap grid system for a fully responsive layout. This is how it might look on a mobile screen - +

![chatto-on-mobile](/img/projects/chatto/chatto-preview-main-2.png)

+ +### Infinite scroll +{{< apvid >}}/img/projects/chatto/chatto-preview-infinite-scroll-2.mkv{{< /apvid >}} +Decryption takes place on the fly on a background thread using the web worker API for a smooth user experience. + +### E2EE Passphrase +{{< avid >}}/img/projects/chatto/chatto-preview-passphrase.mp4{{}} +Note - passphrase is not stored on the server, or anywhere other than client's memory. The app simply checks whether decryption was successful to determine whether the passphrase is correct. + +### Markdown in chat +{{< avid >}}/img/projects/chatto/chatto-preview-markdown.mkv{{}} diff --git a/static/img/projects/chatto/chatto-preview-infinite-scroll-2.mkv b/static/img/projects/chatto/chatto-preview-infinite-scroll-2.mkv new file mode 100644 index 0000000..f6b9f84 Binary files /dev/null and b/static/img/projects/chatto/chatto-preview-infinite-scroll-2.mkv differ diff --git a/static/img/projects/chatto/chatto-preview-infinite-scroll.mkv b/static/img/projects/chatto/chatto-preview-infinite-scroll.mkv new file mode 100644 index 0000000..d12add6 Binary files /dev/null and b/static/img/projects/chatto/chatto-preview-infinite-scroll.mkv differ diff --git a/static/img/projects/chatto/chatto-preview-main-2.png b/static/img/projects/chatto/chatto-preview-main-2.png new file mode 100644 index 0000000..a408373 Binary files /dev/null and b/static/img/projects/chatto/chatto-preview-main-2.png differ diff --git a/static/img/projects/chatto/chatto-preview-main.png b/static/img/projects/chatto/chatto-preview-main.png new file mode 100644 index 0000000..f0e3f17 Binary files /dev/null and b/static/img/projects/chatto/chatto-preview-main.png differ diff --git a/static/img/projects/chatto/chatto-preview-markdown.mkv b/static/img/projects/chatto/chatto-preview-markdown.mkv new file mode 100644 index 0000000..ec02588 Binary files /dev/null and b/static/img/projects/chatto/chatto-preview-markdown.mkv differ diff --git a/static/img/projects/chatto/chatto-preview-passphrase.mp4 b/static/img/projects/chatto/chatto-preview-passphrase.mp4 new file mode 100644 index 0000000..d64204e Binary files /dev/null and b/static/img/projects/chatto/chatto-preview-passphrase.mp4 differ