Become a software engineering expert at Echorand Corp., a thriving analytics company, in this series of hands-on liveProjects. Gain practical experience by creating a cutting-edge image-hosting web application from scratch. You’ll go hands-on to build an independent hosting service, ensuring your customers' data remains secure on your infrastructure alone—no more reliance on third-party providers.
Using the powerful Go programming language, you'll dive into the development process. Learn how to implement seamless authentication using GitHub as the trusted OAuth provider. Harness the capabilities of MinIO, an open source object storage server, to efficiently store and manage your customers' images. Plus, you will enhance the user experience by generating dynamic thumbnails using external programs and utilizing SQLite, a lightweight and serverless SQL database, to handle crucial application data. By the end of this liveProject series, you'll have the skills and confidence to build your own robust image-hosting service.
In this liveProject, you’ll tackle an important job for Echorand Corp, a data processing company that offers image-hosting services. Echorand’s image-hosting app needs the capability to produce thumbnails for all the uploaded images, so they’ve turned to you. Your challenge is using Go to implement the thumbnail creation features. You’ll need to create a new table to store the association between the original image and their thumbnail, then set up functionality so the original image will be downloaded when users click the thumbnail.
In this liveProject, you’ll take on the role of a software engineer for Echorand Corp tasked with implementing image-hosting capabilities for their new platform. You’ll make full use of the Go standard library to write a web UI that can upload images once they are authenticated, then add SQLite support for storing image metadata. Finally, you’ll update the web app so your users can see their newly uploaded images in all their glory.
In this liveProject, you’ll dive into the software engineer role at Echorand Corp., a leading analytics company. Echorand Corp wants to offer its customers the opportunity to host images, so they’ve turned to you. You’ll build an impressive web application using the Go programming language using GitHub as the OAuth provider. You’ll implement secure authentication, providing users with a seamless login experience, and manage application state effortlessly using SQLite.
Welcome to Echorand Corp., a growing analytics company that uses the GitHub hosting service to host its software. Feedback from within the organization indicates users are unhappy with the lack of backup functionality the service provides. As a software engineer, your job is to solve that problem by empowering users to download their own data. You’ll build an app in Go that allows users to log in using their GitHub credentials and download their data from GitHub using the Migration API. You’ll create HTTP client middleware for testing without interacting with GitHub.com and write automated tests that let you make updates with confidence. Using Go, HTML, JavaScript, and the GitHub Go SDK, you’ll also add functionality for users to view and download their data whenever they like. When you’re finished, you’ll have topped off your programming toolbox with Go skills for web app creation with a GitHub login as well as data management functionality.
You’re a software engineer for Echorand Corp., a growing analytics company that wants to address the lack of backup functionality provided by the GitHub software hosting service it uses. The company has a web application that allows users to log in using their GitHub credentials. Your task is to add functionality to that app that lets users download their data whenever they like. Using Go, HTML, JavaScript, and the GitHub Go SDK, you’ll implement support that enables users to export their data on GitHub, view their exports, and download them—a win for Echorand Corp. and for you!
Echorand Corp., a growing analytics company, uses the GitHub hosting service for its software hosting and collaboration needs. But the company has received feedback voicing concerns about the service’s lack of backup functionality. As a software engineer, it’s up to you to solve this problem. You’ll use Go to build a web application that allows users to log in using their GitHub credentials and access the GitHub API using OAuth authorization. You’ll create HTTP client middleware for writing and performing tests with no need to interact with Github.com, and you’ll write automated tests that enable you to update the application while speeding up the development cycle. When you’re done, you’ll have built an easy-to-update application that allows users to log in with their GitHub credentials.
In this series of liveProjects, you’ll use the Go programming language to build the backend for a customer support chat feature. The features of the Go programming language and its rich ecosystem allow you to create a highly scalable backend application out of the box.
Stepping into the shoes of a software engineer at an analytics company, you’ll implement an application that allows for real-time, two-way interaction between your clients and a customer service team. You’ll learn to use the Go standard library packages and a community-maintained package called Gorilla WebSocket to build an HTTP web application that supports communication over WebSockets. You will transmit and process binary data over a WebSocket connection and upload files to an object storage service. You will also use the https://gocloud.dev library to write cloud-agnostic application code.
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.
In this liveProject, you’ll create advanced functionality for a chat application, allowing users to upload files during a text chat. You’ll use the WebSockets framework to receive requests from browsers and set up WebSocket connections that let customer support teams chat with customers. Challenges include implementing the file upload support, and writing tests to ensure the end-to-end functionality is high-quality and bug-free.
In this liveProject, you’ll create the backend for a company support live chat feature using the WebSockets framework. This backend will form the foundation of a new customer service for your company. You’ll implement a backend that can receive requests from browsers and set up WebSocket connections between customers and support personnel. You’ll even preserve the chat histories.
In this video, Natan Streppel, a software engineer and frequent Manning partner, explains what he likes about this liveProject.
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.
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.
In this liveProject, you’ll step into the role of a Platform Engineer and build a command-line application for generating a web application scaffold using Go. This incredibly useful tool will ensure that all the services across your company follow standard practices and match a preset source code structure. Your colleagues are excited—with this new tool they can bootstrap their projects more quickly and ship features faster. Your challenges will include using the Go standard library package to implement a command-line application, creating web application templates, and writing end-to-end tests.