https://github.com/stefanzweifel/diary-app
πAn End-To-End Encrypted Diary Web App
https://github.com/stefanzweifel/diary-app
encryption example-app laravel laravel5 vue
Last synced: 6 months ago
JSON representation
πAn End-To-End Encrypted Diary Web App
- Host: GitHub
- URL: https://github.com/stefanzweifel/diary-app
- Owner: stefanzweifel
- License: mit
- Archived: true
- Created: 2017-03-21T19:39:27.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-09-01T14:02:24.000Z (over 6 years ago)
- Last Synced: 2025-01-21T09:35:50.995Z (about 1 year ago)
- Topics: encryption, example-app, laravel, laravel5, vue
- Language: PHP
- Homepage: https://stefanzweifel.io/posts/code-experiment-end-to-end-encrypted-diary-app?utm_source=Github
- Size: 2.6 MB
- Stars: 94
- Watchers: 8
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Diary App
## Word of Warning:
This app has been written in 2017. Back then I didn't knew that much about encryption. Since then, many people pointed out to me, that the app in it's current state has design flaws: App encryption key is available in the frontend/public, Master Password of a user is not connected with the app encryption key.
So yeah, I'm by no means a cryptographic expert! **Please, don't use the source code of the app as the basis of your next security project!**
## About
This is an example app to showcase how you can use End-to-End Encryption in your Laravel Apps. I've used Vue as the Frontend Framework but the code should be easily portable to any Framework of your choice.
I've written a blog post about the project. You can read it [here](https://stefanzweifel.io/posts/code-experiment-end-to-end-encrypted-diary-app).
- [Vuex Store](https://github.com/stefanzweifel/diary-app/tree/master/resources/assets/js/store)
- [Vue Router](https://github.com/stefanzweifel/diary-app/tree/master/resources/assets/js/router)
- [Editor View](https://github.com/stefanzweifel/diary-app/blob/master/resources/assets/js/router/views/EntryEditorView.vue)
- [Vue Components](https://github.com/stefanzweifel/diary-app/tree/master/resources/assets/js/components)
- [crypto.js Class](https://github.com/stefanzweifel/diary-app/blob/master/resources/assets/js/classes/Crypto.js)
## Basic Installation Instructions
- Clone Repository
- Install PHP Dependencies: `composer install`
- Install Frontend Dependencies: `npm install`
- Create .env file: `cp .env.example .env`
- Migrate Database: `php artisan migrate`
- Create OAuth Key Pair: `php artisan passport:install`
- Link storage with `php artisan storage:link`
## License
MIT