Skip to content

bootdotdev/learn-file-storage-s3-golang-starter

Repository files navigation

learn-file-storage-s3-golang-starter (Tubely)

This repo contains the starter code for the Tubely application - the #1 tool for engagement bait - for the "Learn File Servers and CDNs with S3 and CloudFront" course on boot.dev

Quickstart

*This is to be used as a *reference* in case you need it, you should follow the instructions in the course rather than trying to do everything here.

1. Install dependencies

  • Go
  • go mod download to download all dependencies
  • FFMPEG - both ffmpeg and ffprobe are required to be in your PATH.
# linux
sudo apt update
sudo apt install ffmpeg

# mac
brew update
brew install ffmpeg
  • SQLite 3 only required for you to manually inspect the database.
# linux
sudo apt update
sudo apt install sqlite3

# mac
brew update
brew install sqlite3

2. Download sample images and videos

./samplesdownload.sh
# samples/ dir will be created
# with sample images and videos

3. Configure environment variables

Copy the .env.example file to .env and fill in the values.

cp .env.example .env

You'll need to update values in the .env file to match your configuration, but you won't need to do anything here until the course tells you to.

3. Run the server

go run .
  • You should see a new database file tubely.db created in the root directory.
  • You should see a new assets directory created in the root directory, this is where the images will be stored.
  • You should see a link in your console to open the local web page.