This commit marks applying prettier to the whole of git history up to this point and prettier is used to enforce format via pre-commit hook. The command used was: `git filter-branch -f --tree-filter 'prettier --no-config --single-quote --tab-width=1 --print-width=100 --use-tabs --trailing-comma=none --prose-wrap=always --write "{.,{packages,bin}/**}/*.{js,json,md}" || echo "Error formatting, possibly invalid JS"' -- --all`
48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
# Gallery
|
|
|
|
This photo gallery originally stemmed from my personal desire to have and host my own memories for
|
|
myself and to share with friends and family. Along the way it became a learning tool as well.
|
|
|
|
## Features
|
|
|
|
- Upload and view images
|
|
- Save files to Backblaze B2 storage.
|
|
|
|
## Development Philosophy
|
|
|
|
This application is designed to be as browser-only as possible. I have an idealistic attraction to
|
|
the [unhosted](https://unhosted.org/) movement and have dreams of this gallery becoming a popular
|
|
photo gallery for anyone who wishes to escape the social media silos. However, interacting with some
|
|
3rd-party storage services requires a server-side component for non-CORS-enabled endpoints.
|
|
|
|
## Technology
|
|
|
|
This would not be possible without the giants who have laid the foundation:
|
|
|
|
- [Webpack](http://webpack.js.org/)
|
|
- [DOMVM](http://leeoniya.github.io/domvm/)
|
|
- [PouchDB](https://pouchdb.com/)
|
|
|
|
There are many more dependencies. You can find them in the [package.json](./package.json) file.
|
|
|
|
## Development
|
|
|
|
You can use [Cloud9](../../README.md#development) or your favorite editor.
|
|
|
|
Webpack Development Server is available via `npm run dev` but it serves as HTTPS and requires a
|
|
localhost certificate exception in order to operate properly.
|
|
|
|
## Plan
|
|
|
|
In the future, I plan to add:
|
|
|
|
- sharable links
|
|
- local file storage
|
|
- CSRF for interacting with server component
|
|
- albums
|
|
- client-side encryption
|
|
- video support
|
|
- Sandstorm support
|
|
- CORS-based storage: - s3 - remotestorage - Google Cloud? - Dropbox?
|
|
- tags
|