Full-stack web development with Go build your web applications quickly using the Go programming language and Vue.js

A Go programmer's hands-on guide to go from building basic server-side templates to full single page apps using Tailwind CSS, Vue.js, and more Key Features Learn how to structure your Go projects, be smarter with SQLc, create middleware and secure your apps Explore different frontend frameworks...

Descripción completa

Detalles Bibliográficos
Otros Autores: Tolaram, Nanik, author (author), Glynn, Nick, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham ; Mumbai : Packt Publishing [2023]
Edición:1st ed
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009724839006719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Contributors
  • About the reviewers
  • Table of Contents
  • Preface
  • Part 1: Building a Golang Backend
  • Chapter 1: Building the Database and Model
  • Technical requirements
  • Installing Docker
  • Setting up Postgres
  • Designing the database
  • Installing sqlc
  • Using sqlc
  • Setting up the database
  • Generating CRUD with sqlc
  • Building the makefile
  • Summary
  • Chapter 2: Application Logging
  • Technical requirements
  • Exploring Go standard logging
  • Using golog
  • Local logging
  • Writing log messages to the logging server
  • Configuring multiple outputs
  • Summary
  • Chapter 3: Application Metrics and Tracing
  • Technical requirements
  • Understanding OpenTelemetry
  • The OpenTelemetry APIs and SDK
  • Tracing applications
  • Installing Jaeger
  • Integrating the Jaeger SDK
  • Integration with Jaeger
  • Adding metrics using Prometheus
  • Adding metrics using Prometheus
  • Running docker-compose
  • Summary
  • Part 2: Serving Web Content
  • Chapter 4: Serving and Embedding HTML Content
  • Technical requirements
  • Handling HTTP functions and Gorilla Mux
  • Hello, World with defaults
  • Building on the basics with Gorilla Mux
  • Rendering static content
  • Rendering dynamic content
  • Using Go embed to bundle your content
  • Summary
  • Chapter 5: Securing the Backend and Middleware
  • Technical requirements
  • Adding authentication
  • Creating our dummy user
  • Authenticating a user
  • Adding middleware
  • Basic middleware
  • Adding cookies and sessions
  • Cookies and session handling
  • Storing session information
  • Using Redis for a session
  • Summary
  • Chapter 6: Moving to API-First
  • Technical requirements
  • Structuring an application
  • Defining packages
  • Exposing our REST API
  • Cross-Origin Resource Sharing (CORS)
  • JSON middleware
  • Session middleware.
  • Converting to and from JSON
  • Defining request model
  • Defining a response model
  • Reporting errors with JSON
  • Using JSONError
  • Using JSONMessage
  • Summary
  • Part 3: Single-Page Apps with Vue and Go
  • Chapter 7: Frontend Frameworks
  • Technical requirements
  • Server-side rendering versus single-page apps
  • Introducing React, Vue, and more
  • React
  • Svelte
  • Vue
  • Creating a Vue app
  • Application and components
  • Login page using Vue
  • Using Vite
  • Using Vue Router to move around
  • Routing the login page
  • Summary
  • Chapter 8: Frontend Libraries
  • Technical requirements
  • Understanding Vuetify
  • Setting up Vuetify
  • Using UI components
  • Understanding Buefy
  • Bulma sample
  • Setting up Buefy
  • UI components
  • Validating data entry with Vuelidate
  • Better input handling with Cleave.JS
  • Summary
  • Chapter 9: Tailwind, Middleware, and CORS
  • Technical requirements
  • Introducing Tailwind
  • Creating a new Tailwind and Vite project
  • Consuming your Golang APIs
  • CORS for secure applications
  • Creating Vue middleware
  • Summary
  • Chapter 10: Session Management
  • Technical requirements
  • Session management and JWTs
  • What's a JWT?
  • (Re)introducing Vue Router
  • Navigation guards
  • Defaults and error pages
  • Summary
  • Part 4: Release and Deployment
  • Chapter 11: Feature Flags
  • Technical requirements
  • An introduction to feature flags
  • Feature flag configuration
  • Use cases for using feature flags
  • Installing the feature flag server
  • The high-level architecture of feature flags
  • Integration of the feature flag
  • Web application
  • Microservice integration
  • Summary
  • Chapter 12: Building Continuous Integration
  • Technical requirements
  • Importance of CI
  • Setting up GitHub
  • GitHub Actions
  • Publishing Docker images
  • Dockerfile
  • GitHub Packages
  • Publishing to GitHub Packages.
  • Pulling from GitHub Packages
  • Summary
  • Chapter 13: Dockerizing an Application
  • Technical requirements
  • Installing Docker
  • Using Docker
  • Docker images
  • Running images as containers
  • Building and packaging images
  • Docker Compose
  • Summary
  • Chapter 14: Cloud Deployment
  • Technical requirements
  • AWS refresher
  • Amazon Elastic Compute Cloud
  • Virtual Private Cloud
  • Database storage
  • Elastic Container Service
  • AWS tools
  • Understanding and using Terraform
  • What is Terraform?
  • Installing Terraform
  • Terraform basic commands
  • The init command
  • The plan command
  • The destroy command
  • Coding in Terraform
  • Providers
  • Terraform examples
  • Pulling from GitHub Packages
  • AWS EC2 setup
  • Deploying to ECS with a load balancer
  • Summary
  • Index
  • Other Books You May Enjoy.