Skip to content

Sample notepad application in Vue and Go showing good practices and integrations with modern tools. This project uses Bulma, Cypress, Docker, ESLint, gvt, make, Nuxt.js, Rove, Swagger, and Travis-CI.

License

Notifications You must be signed in to change notification settings

josephspurrier/govueapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

govueapp

Go Report Card Build Status Coverage Status

Swagger Validator

This is a sample notepad application that uses Vue on the front-end (UI) and Go on the back-end (API). This project is designed to show good development and CI/CD practices as well as integrations between modern development tools.

Documentation is generated using Docusaurus and hosted using GitHub Pages. This project uses a Makefile to centralize frequently used commands. The code coverage badge above is only for the back-end API - not the front-end.

Demo gif

Quick Start with Docker Compose

To run the application locally, you can run these commands. You don't need any of the the dev tools (Go/npm) installed, you only need Docker (and Docker Compose). The ingress container is a reverse proxy that allows you to use a single URL to access multiple different docker containers depending on the URL.

# Clone the repo.
git clone git@github.com:josephspurrier/govueapp.git

# CD to the project directory.
cd govueapp

# Build the docker containers.
make docker-build

# Run the docker containers: ingress, DB, API, and UI.
docker-compose up -d

# Open your browser to the UI (via ingress): http://localhost
# Open your browser to the API (via ingress): http://localhost/api
# Open your MySQL tool to the DB: localhost:3306 (root:password)

# Stop and remove the docker containers.
docker-compose down

Additional Documentation

Below are links to various section of the documentation.

This is one repository of a few that demonstrate with different front-end frameworks how to build a notepad application with authentication. A few of the other repositories are:

About

Sample notepad application in Vue and Go showing good practices and integrations with modern tools. This project uses Bulma, Cypress, Docker, ESLint, gvt, make, Nuxt.js, Rove, Swagger, and Travis-CI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published