Pediforte
Software Development

Advanced Backend Development with Go

Build a production-ready backend in Go, starting with the language fundamentals and progressing to a secure, documented API. You’ll carry one project through the course, adding capabilities as you learn each part of the backend stack. By the end, you’ll have tested and documented your API and deployed it to AWS. The course is designed for developers with programming experience who are comfortable using a terminal and Git.

Experienced10 Weeks6 modules · 37 lessonsEnglish
14% OFF
₦300,000₦350,000SAVE 14%

Last Cohort Discount

Offer ends in 29 days

Or pay in installments at checkout.

This course includes

37 Lectures10 WeeksCertificateEnglish

Course Curriculum

6 modules · 37 lessons
1Go Syntax, Types, and Project Foundations6 lessons

Learn Go’s syntax, types, functions, structs, interfaces, error handling, and modules while setting up the course project. You’ll be able to write and organize basic Go code and build a foundation for the API.

  • Set Up the Go Toolchain and Course Module

    Initialize a Go module, configure an editor with Go support, and verify the toolchain with go version, gofmt, and go test.

  • Use Go Declarations, Types, and Zero Values

    Implement a small package that uses Go declarations, built-in types, conversions, and zero values idiomatically.

  • Model Domain Data with Structs and Methods

    Define domain structs and methods that encapsulate state and behavior in a cohesive Go package.

  • Compose Interfaces and Handle Errors Explicitly

    Implement an interface-based workflow that returns and handles contextual errors without relying on exceptions.

  • Project: Build a Tested Go Domain Package

    Build and test a reusable domain package with structs, methods, interfaces, and explicit error handling.

  • Capstone: Create the Course API Foundation

    Create a version-controlled Go API starter with a runnable HTTP endpoint, organized packages, and passing tests.

2Idiomatic Go for Backend Services7 lessons

Apply Go conventions and core backend patterns, including context, concurrency, configuration, and structured error handling. You’ll shape the project into a maintainable service ready to handle requests.

  • Go Service Toolchain and Workspace Setup

    Configure a Go development workspace with gofmt, go test, and golangci-lint for the module.

  • Idiomatic Service Structure and Structured Errors

    Organize a backend service into cohesive Go packages and return errors that preserve context and support inspection.

  • Context Propagation Across Request Lifecycles

    Propagate context through handlers and service dependencies to enforce cancellation and deadlines.

  • Reliable Configuration and Structured Logging

    Load and validate service configuration at startup and emit structured logs with request-relevant fields.

  • Project: Build a Concurrent Request-Processing Service

    Build a runnable Go service that processes requests with bounded concurrency, context cancellation, validated configuration, and structured errors.

  • Graceful Shutdown and Service-Level Testing

    Implement graceful shutdown and integration tests that verify request handling, cancellation, and error responses.

  • Capstone: Harden and Deliver an Idiomatic Go Backend

    Deliver a production-ready backend service that integrates idiomatic structure, configuration, context propagation, concurrency, structured errors, and graceful shutdown.

3Designing and Building HTTP APIs6 lessons

Build REST endpoints with Go’s net/http package, using request validation, middleware, and consistent response patterns. You’ll create the first working API features for the ongoing project.

  • Set Up the Go HTTP API Development Environment

    Configure a Go module, API test workflow, and HTTP client for developing and exercising the project API.

  • Build HTTP Routes and Handlers with net/http

    Implement method-aware routes and handlers that translate HTTP requests into application operations.

  • Validate Requests and Standardize JSON Responses

    Apply request validation and return consistent JSON success and error responses with appropriate status codes.

  • Compose Middleware for Cross-Cutting HTTP Concerns

    Add reusable middleware for request IDs, structured logging, and panic recovery to the API handler chain.

  • Project: Implement the First API Features

    Build and test a cohesive set of project endpoints using routing, validation, response patterns, and middleware.

  • Capstone: Deliver a Reliable HTTP API

    Integrate and verify an end-to-end API feature with consistent errors, middleware, and HTTP-level tests.

4Persistence with PostgreSQL6 lessons

Connect the service to PostgreSQL using Go’s database/sql package, and implement data access, schema changes, and transaction handling. You’ll persist project data and handle common database failures.

  • Set Up PostgreSQL and Go Database Tooling

    Configure a local PostgreSQL environment and Go project with a database/sql-compatible driver.

  • Design PostgreSQL Schemas and Apply Versioned Migrations

    Create a relational schema and manage its evolution with versioned migrations.

  • Connect Go Services with database/sql and Configure Connection Pools

    Establish and configure a database/sql connection pool using application settings and context-aware operations.

  • Implement Safe Repository Operations and Handle Database Errors

    Build parameterized repository methods for CRUD operations and map common PostgreSQL failures to application errors.

  • Use Transactions to Preserve Data Integrity

    Implement multi-step database operations with transactions, rollback behavior, and constraint-aware error handling.

  • Capstone Project: Persist Project Data in a Go Service

    Build and test a Go service persistence layer that uses migrations, repositories, connection pooling, and transactions.

5Testing, Security, and API Documentation6 lessons

Add automated tests and strengthen the API with authentication, authorization, input validation, and secure configuration practices. Document its endpoints with OpenAPI so the finished service is safer and easier to use.

  • Set Up Go API Testing and Security Tooling

    Configure Go test tooling, a test database, and security analysis tools for the existing API.

  • Test API Behavior with Unit, Integration, and HTTP Tests

    Implement tests that verify handler behavior, database interactions, and API error responses.

  • Implement Authentication and Authorization

    Protect API endpoints with authenticated identity and role- or policy-based access checks.

  • Build a Validated API with Secure Configuration

    Create a tested API feature that validates inputs and loads secrets and security settings safely.

  • Document and Validate the API with OpenAPI

    Write an OpenAPI specification that documents endpoint schemas, security requirements, and error responses.

  • Capstone: Deliver a Tested, Secured, Documented Go API

    Integrate automated tests, authentication, authorization, input validation, secure configuration, and OpenAPI documentation into a deployable service.

6Deploying the Go API to AWS6 lessons

Package the service with Docker and deploy it on AWS using Amazon ECS with Fargate, connecting it to Amazon RDS for PostgreSQL and using AWS IAM and CloudWatch for operational needs. You’ll publish and verify the live API, completing the course project.

  • Set Up the AWS Deployment Toolchain

    Configure Docker, the AWS CLI, Terraform, and secure AWS account access for the Go API deployment.

  • Build a Production-Ready Go API Container

    Package the Go API in a secure, minimal Docker image and verify it locally with its required configuration.

  • Provision AWS Networking, IAM, and PostgreSQL

    Define the network, least-privilege IAM roles, and private RDS for PostgreSQL resources required by the API.

  • Publish the Container and Configure ECS Fargate

    Push the API image to Amazon ECR and configure an ECS Fargate service to connect securely to RDS.

  • Operate and Troubleshoot the AWS API Service

    Use CloudWatch logs, ECS health checks, and deployment events to diagnose and resolve service issues.

  • Capstone Project: Deploy and Verify the Live Go API

    Deploy the complete Go API to ECS Fargate, verify live endpoints and PostgreSQL connectivity, and confirm operational logs in CloudWatch.

Course Details

Level
Experienced
Duration
10 Weeks
Modules
6
Lectures
37
Language
English
Certificate
Included
Last Updated
18 Oct 2026

What You Get

  • Expert-led lectures
  • AI-powered learning assistant
  • Live classes with instructors
  • Hands-on projects & assignments
  • Certificate of completion
  • 3 months free Community membership
Message Us