Skip to content

Go backend and Vue frontend template with social logins

License

Notifications You must be signed in to change notification settings

tdewolff/go-vue-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Go backend and Vue frontend template with social logins

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published