├── .gitignore
├── .gitpod.yml
├── README.md
├── _config.yml
├── index.html
├── package-lock.json
├── package.json
├── src
├── App.vue
├── assets
│ ├── logo.png
│ └── overview.jpg
├── components
│ └── Pictures.vue
├── main.js
└── router
│ └── index.js
├── static
└── .gitkeep
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Runtime data
9 | pids
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Directory for instrumented libs generated by jscoverage/JSCover
15 | lib-cov
16 |
17 | # Coverage directory used by tools like istanbul
18 | coverage
19 |
20 | # nyc test coverage
21 | .nyc_output
22 |
23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24 | .grunt
25 |
26 | # Bower dependency directory (https://bower.io/)
27 | bower_components
28 |
29 | # node-waf configuration
30 | .lock-wscript
31 |
32 | # Compiled binary addons (https://nodejs.org/api/addons.html)
33 | build/Release
34 |
35 | # Dependency directories
36 | node_modules/
37 | jspm_packages/
38 |
39 | # TypeScript v1 declaration files
40 | typings/
41 |
42 | # Optional npm cache directory
43 | .npm
44 |
45 | # Optional eslint cache
46 | .eslintcache
47 |
48 | # Optional REPL history
49 | .node_repl_history
50 |
51 | # Output of 'npm pack'
52 | *.tgz
53 |
54 | # Yarn Integrity file
55 | .yarn-integrity
56 |
57 | # dotenv environment variables file
58 | .env
59 |
60 | # next.js build output
61 | .next
62 | .cache/
63 | dist/
--------------------------------------------------------------------------------
/.gitpod.yml:
--------------------------------------------------------------------------------
1 | # This configuration file was automatically generated by Gitpod.
2 | # Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file)
3 | # and commit this file to your remote git repository to share the goodness with others.
4 |
5 | tasks:
6 | - init: yarn install && yarn run build
7 | command: yarn run start
8 |
9 |
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://forthebadge.com) [](https://forthebadge.com)
2 | # vue-unsplash
3 |
4 | Vue Unsplash is photo search webapp made using Vue.js which uses Unsplash JSON APIs for photo search. Unsplash [https://unsplash.com](https://unsplash.com/) the most powerful photo engine in the world. Trying to make the unplash like UI and add functionality as much as possible
5 |
6 |
7 |
8 |
9 |
10 |
11 | ## Prerequisites
12 |
13 | You are required to have [Node.js](https://nodejs.org/) installed to run the app locally.
14 |
15 | ## Getting Started
16 |
17 |
18 | ## Creating a developer account
19 |
20 | To access the Unsplash API, first [register](https://unsplash.com/developers) as a developer.
21 |
22 |
23 | ## Registering your application
24 |
25 | Once your account has been registered for the API, log in -> go to the Developers page -> Go to "Your Applications"-> "New Application" and fill in the required details.
26 |
27 |
28 |
29 | SignUp or Login in [Unsplash](https://unsplash.com). Go to API/devlopers -> Documentation. Then Register your app to get the API key and secret.
30 |
31 | ## API Usage
32 |
33 | Update your API_KEY and API_SECRET in the [main.js](https://github.com/junipdewan/vue-unsplash/blob/master/src/main.js)
34 |
35 | ```
36 | const unsplash = new Unsplash({
37 | applicationId: "API_KEY",
38 | secret: "API_SECRET",
39 | callbackUrl: "{CALLBACK_URL}"
40 | });
41 | ```
42 |
43 |
44 |
45 | ## Usage
46 |
47 | ```sh
48 | # install all dependency
49 | ~/ npm install
50 |
51 | # run
52 | ~/ npm run dev
53 | ```
54 |
55 | ## Contribution
56 |
57 | The development of the App is still in progress. Only some part is implemented. You can help with
58 | code contribution to add more functionality in the App.
59 |
60 | ##
61 |
62 | Checkout another repo [React-Unsplash](https://github.com/junipdewan/react-unsplash). A clone app made using React and Unsplash JSON API
63 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-tactile
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | vue-unplush
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-unplush",
3 | "version": "1.0.0",
4 | "description": "A Vue.js project",
5 | "author": "Junip",
6 | "private": true,
7 | "scripts": {
8 | "dev": "parcel index.html",
9 | "start": "npm run dev",
10 | "lint": "eslint --ext .js,.vue src",
11 | "build": "node build/build.js"
12 | },
13 | "dependencies": {
14 | "axios": "^0.21.1",
15 | "babel-preset-vue": "^2.0.2",
16 | "bootstrap-vue": "^2.17.3",
17 | "lodash": "^4.17.21",
18 | "unsplash-js": "^5.0.0",
19 | "vue": "^2.6.12",
20 | "vue-hot-reload-api": "^2.3.4",
21 | "vue-router": "^3.4.5"
22 | },
23 | "devDependencies": {
24 | "@babel/core": "^7.11.6",
25 | "@vue/component-compiler-utils": "^3.2.0",
26 | "parcel-bundler": "^1.12.4",
27 | "vue-template-compiler": "^2.6.12"
28 | },
29 | "engines": {
30 | "node": ">= 6.0.0",
31 | "npm": ">= 3.0.0"
32 | },
33 | "alias": {
34 | "vue": "./node_modules/vue/dist/vue.common.js"
35 | },
36 | "browserslist": [
37 | "> 1%",
38 | "last 2 versions",
39 | "not ie <= 8"
40 | ]
41 | }
42 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
25 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/junip/vue-unsplash/90d2c24d83a49108e49c08f3fc43838ca6f48059/src/assets/logo.png
--------------------------------------------------------------------------------
/src/assets/overview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/junip/vue-unsplash/90d2c24d83a49108e49c08f3fc43838ca6f48059/src/assets/overview.jpg
--------------------------------------------------------------------------------
/src/components/Pictures.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
19 |
20 |
21 | -
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
127 |
128 |
129 |
151 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App'
3 | import router from './router'
4 |
5 | import BootstrapVue from 'bootstrap-vue'
6 | import Unsplash from 'unsplash-js';
7 | import axios from 'axios';
8 |
9 |
10 |
11 | Vue.config.productionTip = false
12 | Vue.use(BootstrapVue)
13 |
14 | import 'bootstrap/dist/css/bootstrap.css'
15 | import 'bootstrap-vue/dist/bootstrap-vue.css'
16 |
17 |
18 |
19 | const unsplash = new Unsplash({
20 | applicationId: "",
21 | secret: "",
22 | callbackUrl: "{CALLBACK_URL}"
23 | });
24 |
25 | Vue.prototype.$unsplash = unsplash;
26 | Vue.prototype.$axios = axios;
27 |
28 |
29 |
30 | /* eslint-disable no-new */
31 | new Vue({
32 | el: '#app',
33 | router,
34 | render: h => h(App)
35 | })
36 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 | import HelloWorld from '../components/Pictures'
4 |
5 | Vue.use(Router)
6 |
7 | export default new Router({
8 | routes: [
9 | {
10 | path: '/',
11 | name: 'HelloWorld',
12 | component: HelloWorld
13 | }
14 | ]
15 | })
16 |
--------------------------------------------------------------------------------
/static/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/junip/vue-unsplash/90d2c24d83a49108e49c08f3fc43838ca6f48059/static/.gitkeep
--------------------------------------------------------------------------------