Skip to content

Project Structure

Current repository structure at a high level:

.
├── app/                         # Nuxt application (UI)
│   ├── components/
│   │   ├── admin/               # Admin panel components
│   │   ├── files/               # File manager and related modals
│   │   └── common/
│   ├── composables/             # useAuth, useAppContext, useFiles, useBuckets, …
│   ├── layouts/                 # auth, default
│   ├── middleware/              # Client middleware
│   ├── pages/                   # login, index, admin, public
│   ├── utils/                   # validators, publicLinkUrl, gridConfig, theme
│   └── types/                   # Shared types
├── server/                      # Nitro API and server logic
│   ├── api/
│   │   ├── auth/                # Login, logout, register, session
│   │   ├── admin/               # Destination/user administration
│   │   ├── destinations/        # Destination availability/testing
│   │   ├── s3/                  # Buckets, objects, folders, metadata
│   │   ├── links/               # Authenticated public-link management
│   │   └── public/              # Public API by link hash
│   ├── middleware/              # Cookie JWT auth
│   ├── plugins/                 # Init JWT/encryption secrets
│   └── utils/                   # storage, S3, crypto, cookies, rate-limit, zip
├── docs/                        # MkDocs documentation
│   ├── images/                  # Screenshots and assets
│   └── index.md                 # Docs home page
├── mkdocs.yml                   # MkDocs + Material config
├── public/                      # Static files
├── Dockerfile                   # Production image build
└── docker-compose.yml           # Quick container launch

Technologies

  • Nuxt 4
  • Nuxt UI
  • AWS SDK v3 for S3 API access
  • JWT in an HttpOnly cookie + bcryptjs for authentication
  • Zod for API input validation

S3 compatibility

BucketFlow supports any S3-compatible endpoint with proper endpoint, region, and forcePathStyle configuration when needed.