Image Hosting

Web Application Form Uploads you own this product

This project is part of the liveProject series Image Hosting in Go
Basics of Go • Understanding of HTTP requests • Understanding of SQL
skills learned
Rendering HTML templates • Handling form uploads in your web application backend • Upload binary data to another external object storage service using the Go Cloud Development Kit • Manage data related to users and their uploaded images by storing them in an SQLite database
Amit Saha
1 week · 4-6 hours per week · 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!


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

Look inside

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.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

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


The liveProject is designed for intermediate-level programmers proficient in the Go programming language. While some familiarity with writing SQL statements and working with SQL databases is helpful, resources will be provided to help you get up to speed if needed.

  • Basics of Go
  • Basics of SQL

  • Basics of packaging
  • Understanding databases and writing SQL queries

you will learn

In this liveProject, you’ll utilize the Go standard library to handle forms and file uploads for a web application.

  • Use standard library packages to read form upload data
  • Upload binary data to an external object storage service
  • Use the Go Cloud Development Kit Blob package to interact with MinIO
  • Upload objects and create signed, time-limited, shareable URLs for these objects
  • Maintain application state in a SQLite database
  • Manage user-related data and uploaded images by storing them in a SQLite database
  • Execute SQL statements using the database/sql and cznic/sqlite packages


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.

choose your plan


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
  • Web Application Form Uploads project for free