evliang / photoshare

Elixir service for storing and sharing high-quality photos

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Photoshare

An Elixir/Phoenix web application for uploading full-sized DSLR-sized photos and viewing/sharing the compressed versions.

Dependencies

Configuration

for dev/prod environments, you will need a (environment).secret.exs file to store your postgres connection info, e.g.:

use Mix.Config

# Configure your database
config :photoshare, Photoshare.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: POSTGRES_USERNAME,
  password: POSTGRES_PASSWORD,
  database: POSTGRES_DATABASE,
  hostname: "localhost",
  pool_size: 10

How to Run:

To start your Phoenix app:

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.create && mix ecto.migrate
  • Install Node.js dependencies with npm install
  • Start Phoenix endpoint with mix phoenix.server

Now you can visit localhost:4000 from your browser.

Todo

  • replace front-end with ReactJS
  • favorites
  • batch upload with progress bar
  • albums
  • (multi-language) captions
  • video compression and player
  • move older content to Amazon Glacier
  • auto-organize album (ideally, automatically by EXIF date + location, type of device)

About

Elixir service for storing and sharing high-quality photos

License:MIT License


Languages

Language:Elixir 79.4%Language:JavaScript 9.7%Language:HTML 9.1%Language:CSS 1.8%