A modern fullstack application for uploading, previewing, updating, downloading, and deleting files using MinIO (S3-compatible), PostgreSQL, and React + Vite.
- 📦 Upload files (images, docs, etc.)
- 🖼️ Preview images instantly
- 📝 Update/replace files
- ⬇️ Download files
- 🗑️ Delete files
- ⚡ Fast, responsive UI (React + Vite)
- 🗄️ MinIO for object storage
- 🐘 PostgreSQL for metadata
- Frontend: React, Vite, Tailwind CSS
- Backend: Node.js, Express, Prisma
- Storage: MinIO (S3-compatible)
- Database: PostgreSQL
- Containerization: Docker Compose
git clone https://github.com/driannaird/minio-express-react.git
cd minio-express-reactcp .env.example .envEdit .env as needed.
docker-compose up -d- MinIO Console: http://localhost:9001
- PostgreSQL:
localhost:5432
cd server && npm install
cd ../client && npm installcd ../server
npm run devcd ../client
npm run devOpen http://localhost:5173 in your browser.
User interface for uploading and managing files
POST /api/files/upload— Upload fileGET /api/files— List all filesGET /api/files/:id— Get file metadataGET /api/files/download/:id— Download filePUT /api/files/:id— Update fileDELETE /api/files/:id— Delete fileGET /api/files/presigned-url/:id- Presigned UrlGET /api/files/preview/:id— Preview image
MinIO dashboard for managing buckets and files
- Access buckets and files at http://localhost:9001/buckets
MIT
Made with ❤️ by drian

