Giter Club home page Giter Club logo

gallery-server's Introduction

Welcome to gallery-server πŸ‘‹

npm version npm downloads Minified + gzip package size for gallery-server in KB commit msg linted by git-commit-msg-linter visitor count

demo-page-fullscreen

gallery-mobile

Beautiful Local Image Viewer

Beautiful and powerful yet simple local image viewer on your PC or mobile.

δΈ­ζ–‡η‰ˆζ–‡ζ‘£

Install

No installment required!

Use

  1. Serve the local photos.
npx gallery-server --folder /path/to/photos

# for more usage
npx gallery-server -h
  1. Open http://localhost:xxxx/ in your favorite browser or share with your friends http://a.b.c.d:xxxx/?token=${token}.

Enjoy on PC

demo-page-album

Enjoy on Mobile

album-mobile

Photos from pixabay API of Yosemite.

Features

  1. Photos in your PC can be viewed in your mobile phone's browser!
  2. Security on privacy to prevent eavesdropping. API or image resources without a specific token is forbidden, but you can still share with your friends by sending him the token.
  3. Theme togglable between light and dark.
  4. Videos also supported!
  5. More than one galleries can be served at the same time.
  6. A lot of gallery features. Check it at react-images.

FAQ

  1. Q: Why 403 forbidden?

    {
      "code": 403,
      "message": "Forbidden. `token` required. Please redirect to https://github.com/legend80s/gallery-server#faq for more information."
    }
    • A: You see this message because you are not the gallery owner. Ask the owner for the token and append it to the resource URL.
  2. Photos in node_modules will be ignored for performance.

Develop

  1. start api server
npm run dev:server -- --folder=/path/to/photos
  1. start webpack devServer
npm run dev:client

Notice: Install all the dependencies into ./package.json's devDependencies not ./client/package.json. The package.json in client exits only for scripts。

For example if you want change to another gallery (react-bnb-gallery):

# enter project root not ./client/
cd project_root

npm install --save-dev react-bnb-gallery

# start api server
npm run dev:server -- --folder=/path/to/photos

# start webpack devServer
npm run dev:client

Publish

npm version patch / minor / major

Run tests

npm run test

Author

πŸ‘€ legend80s

🀝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Todo

  • Any port. use unoccupied port.
  • Build with remote client to support a wide range of client gallery.
  • Use network IP. mimic create-react-app.
  • Show help Information on cli -v -h.
  • Viewable on mobile.
  • Adapt to mobile.
  • Image lazy load.
  • Security on privacy. only url with token is shareable.
  • Port customizable.
  • Token customizable.
  • Serve multiple folders in one cmd.
  • Token can be optional when viewed on owner's brower.
  • Electron App.

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❀️ by readme-md-generator

gallery-server's People

Contributors

legend80s avatar ristomatti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gallery-server's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.