Mobile Giphy Explorer is a Vue.js and Ionic mobile application showcasing basic elements of both frameworks. It allows the users to explore giphs offered by Giphy Web API on a mobile device.
- ensure you have Node.js installed
- clone the repo:
[git clone https://github.com/aljazsim/vue-masterclass-examples.git](https://github.com/aljazsim/mobile-giphy-explorer.git)
- go to the source directory:
cd ./mobile-giphy-explorer/
- set the Giphy api key
- register for a developer account at https://developers.giphy.com/
- create an app
- copy Giphy API key
- set the key in
./giphy-explorer/.env
(settingVUE_APP_GIPHY_API_KEY
)
- install dependencies:
npm install
- run the application as a web application:
- run development server:
ionic serve
- open a web browser and go to http://localhost:8100/ (port could be different, see your console output)
- run development server:
- run the application as a native mobile application:
- prepare development environment for Ionic applications
- install Ionic CLI
- Android:
- prepare environment for building Android apps (see here)
- run
ionic cap build android
- go to Android Studio
- build APK file (menu Build / Build bundle(s) / APK(s) / Build APK(s))
- copy APK file to your phone
- run APK file and install it
- run Giphy Explorer from the launcher
- iOS:
- prepare environment for building iOS apps see here
- prepare development environment for Ionic applications
- run
ionic serve
(runs the application as a web application, rebuilds on code changes) - run
npx tailwindcss -i ./tailwind.config.css -o ./src/assets/tailwind.css -w
(generates CSS class reference; depending on which Tailwind CSS classes are being referenced in HTML files) - update Anroid project with the code changes
ionic cap sync
- deploy to Android device (see above)
Some of the libraries being used in Giphy Explorer
- Vue.js (progressive JavaScript framework for developing single page applications),
- Ionic (frameworkd for developing cross-platform hybrid mobile applications),
- axios (promise based HTTP JavaScript client),
- qs (query string parsing library),
- Humps (framework for converting JavaScript objects with underscore-case property naming notation to camel-case and back),
- Inversify Props (dependency injection framework for JavaScript),
- vuex (Vue.js state management library),
- Vue Router (Vue.js routing library),
- TailwindCSS (CSS utility framework).