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
|