47 lines
1.5 KiB
Markdown
47 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/tags
|
|
- client-side encryption
|
|
- video support
|
|
- Sandstorm support
|
|
- CORS-based storage: - s3 - remotestorage - Google Cloud? - Dropbox?
|