File storage application in Golang to learn AWS S3 buckets, policies, groups, roles.
Also learned range requests for videos, JWT authentication, ffmpeg, and sqlite3.
List of the things I learned and some notes taken during development of this project is in my_notes.md.
- Go
go mod downloadto download all dependencies- FFMPEG - both
ffmpegandffprobeare required to be in yourPATH.
# 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./samplesdownload.sh
# samples/ dir will be created
# with sample images and videosCopy the .env.example file to .env and fill in the values.
cp .env.example .envYou'll need to update values in the .env file to match your configuration.
go run .- You should see a new database file
tubely.dbcreated in the root directory. - You should see a new
assetsdirectory 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.