Moving-Mate icon indicating copy to clipboard operation
Moving-Mate copied to clipboard

Frontend of student project in Vuejs/Vuex, Webpack 3, and Typescript

Moving Mate

Moving Mate logo Vue logo

Features

  • Vue single file components with Typescript using Vue-property-decorator and Vue-mixin-decorator
  • Vuex Store with namespaced modules
  • Full form component suite, including Calendar, Upload, Stars, Select etc...
  • Vue router with progress bar and async fetch before resolve
  • Form Validation using Vuelidate
  • Webpack dev server with Hot Modules Replacements and minified/gzipped code in Prod
  • Dynamic component import
  • Use of repo Vuex-Typex to have Vuex typed
  • Heavy use of Typescript. Target to es2015 and esnext modules
  • SCSS implementation
  • 100% flexbox
  • JWT OAuth
  • Paypal Payment (Sandbox)
  • Google OAuth
  • Google Maps Client

Open Source at https://github.com/victorgarciaesgi/Moving-Mate

Installation

npm install
yarn

Change API url endpoint

go to ./environment

dev.env.js -> API_URL constant for development prod.env.js -> API_URL constant for production

Config

Webpack config in ./config

Developpment

npm run dev

A page will open on localhost:5000.

Build ~ 60s

Live reload, Hot Module Replacement and Vue devtools

npm run dev2

Same as dev but with Webpack-Dashboard

Production

npm run prod
  • pm2
  • minified bundle size
  • uglified code
  • gzipped
  • chunks vendors
  • Vue production mode
  • drop console logs and comments
npm run prod2

Same as prod but with Nodemon

npm run build:prod

Regenerate the assets

Mobile app

npm i -g cordova
npm run build:mobile

It wuild build the app in prod mode, targeted to ./mobile-app/www

cd ./mobile-app
npm install
cordova platform add ios
# or
cordova platform add android

For IOS

Go to ./platforms/ios and open the Xcode project (Mac only)

For Android

Install Android Studio

Build

cordova build ios
# or
cordova build android

plug your Iphone/android

cordova run ios
# or
cordova run android