Dropbox image gallery is an application that displays the content of the Camera Uploads folder. The application is ment to be a self education technology test and playgorund. The test subject is how the Dropbox API can be used and what it's limitations are when it is used as an image API.
The running version of the application can be found here https://db-gallery-demo.herokuapp.com.
0.0.1
The app uses a number of open source projects to work properly:
- node.js - evented I/O for the backend
- npm - npm is the package manager for installing all the dependencies needed
- Express - fast node.js network app framework @tjholowaychuk
- Redux - Redux is a predictable state container for JavaScript apps
- React - A JavaScript library for building user interfaces
- Webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets.
- Babel - Babel is a JavaScript compiler.
- Material UI - A Set of React Components that Implement Google's Material Design
The app uses Webpack and Webpack Dev Server for fast developing.
You need Node.js installed on your machine:
$ git clone [email protected]:jlonardi/db-image-gallery.git
$ cd db-image-gallery
$ npm install
To build and start the application in dev mode:
$ npm run dev
To build the application for production:
$ npm run build
Hosting the application:
$ npm start
Each test file is to be placed in a folder called "tests" the same directory as the tested code. Each test filename has to be in the format of "*.test.js"
Running the tests:
$ npm test
- Write tests (!!!)
- Take less or sass in use for styling and restructure the style files
- Video file support
- Dropbox API supports thumbnails only for files that are under 20MB. The photos taken for example with a 4K resolution camera are so large that their thumbs can't be retreived.
- Dropbox API supports (judging by their documentation) loading thumbs in 20 pcs chunks. This would fasten up alot the loading of thumbnails but so far the service throws an error when using the API.
- Dropbox is tediously slow especially when downloading thumbnails. This is most likely due the fact that Dropbox does not store thumbs and instead creates them when requested.