How abdurahmon6561/minivercel works
Dropbin accepts inert static-site ZIPs, validates and stores their contents, then publishes a URL; it never executes uploaded code. The main workflow runs from dashboard or API upload through archive validation and deployment to public serving. GitHub import and push-triggered deployment are separate sources that converge on the deployment pipeline, with optional GitHub Actions builds. The dashboard supports project, deployment, environment, and GitHub management. Arrows follow the documented workflow and sampled callers; unsampled subsystem links are limited to README-backed behavior.
Main entry points: serve.py Static file serving · App.tsx Dashboard application · api.ts API client · deployments.py Upload endpoint
Components 29
Deployment pipeline
- FastAPI application
app/main.py - Upload endpoint
app/routers/deployments.py - Multipart receiver
app/upload_stream.py - ZIP validation
app/zipvalidate.py - Deployment pipeline
app/deployer.py
Serving and storage
- Static file serving
app/routers/serve.py - Host routing
app/hostrouting.py - Public URL builder
app/urls.py - Project cache
app/cache.py - Data access
app/store.py - Supabase client
app/supabase.py - Project and deployment rows
- Public site storage
GitHub automation
- GitHub integration
app/github.py - Import and build setup
app/gitops.py - Push webhook
app/routers/webhooks.py - GitHub endpoints
app/routers/github.py
Dashboard
- Dashboard application
web/src/App.tsx - Dashboard authentication
web/src/auth/AuthProvider.tsx - API client
web/src/lib/api.ts - Project management
web/src/pages/Projects.tsx - Project creation
web/src/pages/NewProject.tsx - Repository import
web/src/pages/ImportRepo.tsx - Project and deployments
web/src/pages/ProjectDetail.tsx - Deployment management
app/routers/deployments.py
Other components
- Site owner
- Site visitor
- Dashboard browser
- GitHub Actions
Connections 40
- Site owner → Dashboard browser: uses
- Dashboard browser → Dashboard application: opens
- Dashboard application → Dashboard authentication: uses
- Dashboard authentication → API client: saves token
- Dashboard application → Project management: routes to
- Dashboard application → Project creation: routes to
- Dashboard application → Repository import: routes to
- Dashboard application → Project and deployments: routes to
- Project management → API client: requests
- Project creation → API client: requests
- Repository import → API client: requests
- Project and deployments → API client: requests
- API client → FastAPI application: HTTP requests
- Site owner → Upload endpoint: uploads ZIP
- Upload endpoint → Multipart receiver: receives stream
- Upload endpoint → ZIP validation: validates archive
- Upload endpoint → Deployment pipeline: deploys files
- Deployment pipeline → Public site storage: writes files
- Deployment pipeline → Data access: records deployment
- Data access → Supabase client: queries
- Supabase client → Project and deployment rows: reads and writes
- Supabase client → Public site storage: stores files
- Site visitor → Host routing: requests site
- Host routing → Static file serving: routes site
- Static file serving → Project cache: resolves project
- Static file serving → Data access: reads manifest
- Static file serving → Public site storage: redirects assets
- Static file serving → Site visitor: streams HTML
- Static file serving → Public URL builder: builds public URL
- Repository import → GitHub endpoints: imports repository
- GitHub endpoints → Import and build setup: starts import
- Import and build setup → GitHub integration: fetches repository
- Import and build setup → Deployment pipeline: deploys archive
- GitHub integration → GitHub Actions: configures workflow
- GitHub Actions → Upload endpoint: posts build output
- GitHub Actions → Push webhook: push event
- Push webhook → Data access: matches project
- Push webhook → Deployment pipeline: schedules deploy
- Push webhook → GitHub integration: checks integration
- Project and deployments → Deployment management: manages deployments