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.
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 [email protected]: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
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: