API based Go (Gin) backend for interacting with AWS' S3 buckets. With React (Vite) frontend that mimics OS file system explorer GUI.
The API can:
- List objects at queried path.
- Upload object to target path.
- Return presigned URL to target object.
- Create a 'folder' at target path.
- Delete folder/object at target path.
The frontend:
- Manages complex global states with Zustand.
- Uses TanStack Query (React Query) to cache & invalidate API calls.
- Broken down into components.
- Tailwind + prettier order plugin for managing CSS.
Create .env at the root and supply with configured bucket credentials as per example:
S3_BUCKET=""
S3_REGION=""
Having go toolchain installed, at the root, run:
go run .
Having Node installed, in a seperate terminal:
cd front
npm run dev
Open in the browser:
http://localhost:5173/