go-vue-template

command module
v0.0.0-...-4a7e637 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2018 License: MIT Imports: 15 Imported by: 0

README

Go Vue template

Go-Vue-template is a project that serves as a template for future web applications involving a Go backend (API server) and Vue frontend (SPA client). It has the following features:

  • Vue for a Single Page Application frontend structure
  • OAuth2 authentication using social logins
  • Authentication using JWT
  • Semantic-UI for interface design
  • Webpack to bundle files

This package will be updated as I go. Incomplete todo list:

  • Use TLS for everything
  • Automatic logout using Vuex and timeout
  • Logout blacklists user at the server

Install

Make sure you have the Go compiler and NPM installed. Then issue:

# Download and install this package
go get github.com/tdewolff/go-vue-template

# Download and install client NPM packages
cd web/
npm install

Run

Development mode

Server with DevURL set in config.json will enable CORS headers from localhost:8080. Running the Vue client will automatically open the browser at http://localhost:8080/

# Start API server at :3000
go-vue-template

# Start Vue client with hot-reloading at :8080
cd web/
npm run dev
Production mode

Remove DevURL from config.json, and run:

# Build the web files to web/dist/
npm run build

# Start the webserver at :3000
go-vue-template

Now navigate to http://localhost:3000/. You can change the port in the config.json file.

# Analyze filesizes
npm run build --report

For detailed explanation on how things work at the client, checkout the guide and docs for vue-loader.

Ready-up for your application

  • Rename config.json.dist to config.json and set name and URLs
  • Add social login client IDs and secrets to config.json
  • Create your database scheme in scheme.sql
  • Set title in web/index.html
  • Develop your API server and web interface

License

Released under the MIT license.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL