Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udacity

SQL and Data Modeling for the Web with Go

via Udacity

Overview

This course is focused on backend web development with a strong emphasis on database interactions using Go and Postgres. Students will start by learning Postgres fundamentals, including setup, SQL queries, and Go integration using the pgx library. The course then introduces GORM, a powerful ORM for Go, to simplify database operations and model management. Key concepts like database migrations for schema evolution and version control are also covered. Ultimately, students will apply these skills by building a complete CRUD (Create, Read, Update, Delete) web application, solidifying their understanding of backend development with Go and Postgres.

Syllabus

  • Postgres Fundamentals
    • Learn to set up Postgres with Go, write basic SQL, connect using `pgx`, and run queries efficiently focusing on performance, error handling, and best practices.
  • Using GORM with Go and Postgres
    • Learn to define GORM models, perform CRUD, build complex queries, and manage transactions and errors when using GORM with Go and Postgres.
  • Database Migrations
    • Use tools like golang-migrate or goose to write, apply, and manage schema migrations with versioning, rollbacks, and best practices for safe environment changes.
  • Building a CRUD Application
    • Build and test a RESTful CRUD API in Go using GORM and Postgres. Handle HTTP requests, structure endpoints, manage JSON, and ensure robust error handling, testing, and performance.
  • Content Management System API
    • In this project, you will create a CMS backend API using Go, Gin, and PostgreSQL. This project covers CRUD operations, database migrations, testing, and deploying environment-specific configurations.

Taught by

Sonny Burniston

Reviews

Start your review of SQL and Data Modeling for the Web with Go

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.