bazmurphy / immersive-go-course

An immersive, introductory course to backend software engineering using go.
https://systems.codeyourfuture.io/
Creative Commons Zero v1.0 Universal
0 stars 0 forks source link

Sprint 2 - Projects - Batch Processing #47

Open bazmurphy opened 2 months ago

bazmurphy commented 2 months ago

Batch Processing

https://systems.codeyourfuture.io/projects/batch-processing/

Sections

1. Introduction

2. Learning Objectives

3. Project Setup

4. Specification

5. How-to

6. Extensions

Key Things To Learn:

  1. Batch processing and how it differs from building servers
  2. Configuring a Makefile to run a Docker image
  3. Using Go to run existing software (ImageMagick) to complete tasks
  4. Designing and building a CLI application to batch process images
  5. Reading from and uploading data to cloud storage technology (AWS S3)
  6. Reading, modifying, and extending existing code
  7. Using the encoding/csv package to read and write CSV files
  8. Downloading files using the http package and handling potential errors and non-200 status codes
  9. Creating and configuring an AWS S3 bucket for storing processed images
  10. Setting up IAM roles and policies to allow access to the S3 bucket
  11. Using the AWS SDK for Go to interact with Amazon S3
  12. Configuring AWS credentials and passing them to the Docker container
  13. Implementing retry-with-backoff strategy for handling temporary failures in downloading and uploading images
  14. Avoiding re-uploading and re-processing the same images without using a database
  15. Using goroutines to process and upload images in parallel for improved performance
SallyMcGrath commented 2 months ago

https://systems.codeyourfuture.io/projects/batch-processing/

Give me admin access to this repo so I can edit your tickets please

bazmurphy commented 2 months ago

@SallyMcGrath done^ (i've edited all the links in now)