Two-Project Series

Create a Secrets Sharing Application and Client in Go you own this product

prerequisites
Go language basics • writing functions • creating structures and conditional statements • writing HTTP servers • basic understanding of interfaces • basics of packaging
skills learned
handling JSON data in your applications • using Go map as an in-memory store • using files as a persistent storage mechanism • implementing a command line HTTP client • writing unit tests and integration tests
Amit Saha
2 weeks · 4-6 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


In this series of liveProjects, you’ll use the flexible and powerful Go language to develop a web application for sharing secret login details. You fill the role of an infrastructure engineer at Echorand Corp - a growing company in the business of analytics. Infrastructure Engineers at the company are in charge of creating various accounts for employees in the company. They frequently need to share secret credentials within the company, and they do not want the credentials to leave their company network. Hence, during a company hackathon you have taken upon yourself the task of using Go to create a web application and client for secret sharing.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 Build a Secrets Sharing Web Application

In this liveProject, you will build a backend-only web app for creating and sharing one-time secrets. You’ll create secrets with HTTP API requests to an application containing plain text, and set up a response system that will contain an ID to share with a recipient. Throughout, you’ll make use of the Go standard library package to implement your web application, handle JSON data, and write tests for your web application.

Project 2 Create a Custom HTTP Client

In this liveProject, you’ll implement support for storing secrets in a file rather than memory. You’ll use the Go standard library package to encode and decode JSON objects to and from files, while ensuring your code functions correctly when handling concurrent requests. You’ll also learn how to make HTTP requests from your program, and set up a CLI for your app.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Create a Secrets Sharing Application and Client in Go project for free

project author

Amit Saha

Amit Saha is a software engineer at Atlassian in Sydney, Australia. He’s the author of Practical Go: Building Scalable Network and Non-Network Applications (Wiley, 2021), Doing Math with Python: Use Programming to Explore Algebra, Statistics, Calculus, and More! (No Starch Press, 2015), and Write Your First Program (PHI Learning, 2013). His other writings have been published in technical magazines, conference proceedings, and research journals. He can be found online at https://echorand.me.

Prerequisites

This liveProject is for beginners to Go who are fully comfortable with the language basics.


TOOLS
  • Beginner Go, min. version 1.16
  • Go standard library package
  • HTTP APIs

you will learn

In this liveProject, you’ll get hands-on experience building backend web applications with Go.


  • Creating an HTTP web application
  • Handling JSON data in your applications
  • Using Go map as an in-memory store
  • Writing unit tests and integration tests

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.