Home

Awesome

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: