Loading repository data…
Loading repository data…
rustfs / repository
A modern, responsive web management console for RustFS distributed file system, built with Next.js 16 (App Router) + React 19 + TypeScript + Tailwind CSS v4 + shadcn/ui.
A modern, responsive web management console for RustFS distributed file system, built with Next.js 16 (App Router) + React 19 + TypeScript + Tailwind CSS v4 + shadcn/ui.
console/
├── app/ # Next.js App Router pages and layouts
│ ├── (auth)/ # Authentication pages
│ └── (dashboard)/ # Dashboard pages
├── components/ # React components
│ ├── ui/ # shadcn/ui base components
│ └── ... # Business components
├── hooks/ # Custom React Hooks
├── contexts/ # React Context providers
├── lib/ # Utility functions and library code
│ └── feedback/ # Global feedback APIs (toast, dialog)
├── types/ # TypeScript type definitions
├── i18n/ # Internationalization resource files
│ └── locales/ # Multi-language files (13 languages)
├── config/ # Configuration files
├── public/ # Static assets
└── tests/ # Test files (mirror source structure)
The RustFS service must be started before development. Run it using Docker:
# Create data directory
mkdir rustfs-data
# Run RustFS service
docker run -p 9000:9000 -p 9001:9001 -v ./rustfs-data:/data rustfs/rustfs:1.0.0-alpha.82
The service will start on the following ports:
pnpm install
Note: Before starting the development server, ensure the RustFS service is running (see "Start RustFS Service" section above).
Start the development server (with hot reload):
pnpm dev
Visit http://localhost:3000 to view the application.
pnpm build
pnpm start
Before committing code, ensure all checks pass:
pnpm install --frozen-lockfile
Ensure pnpm-lock.yaml is in sync with package.json. After modifying package.json, you must run pnpm install and commit the updated lockfile.
pnpm type-check
# or
pnpm build
pnpm lint
pnpm format:check
pnpm lint:fix
# or
pnpm format
bucket-selector.tsx)<BucketSelector />)buckets/, users/)buckets/info.tsx instead of buckets/bucket-info.tsx)@/components/ui/*@/lib/feedback/message and @/lib/feedback/dialog for global toast and dialog promptsWhen tests are configured:
tests/ directory, mirroring source structure*.spec.ts or *.test.ts namingpnpm test:runThe project supports multiple languages. Currently supported languages:
Language files are located in the i18n/locales/ directory.
Configure necessary environment variables according to your deployment environment (e.g., API endpoints, authentication configuration).
The project uses Next.js default build configuration. Custom configuration can be done via next.config.ts.
The project can be deployed to any platform that supports Next.js:
pnpm build && pnpm startLicensed under the Apache License 2.0. See LICENSE for details.
AGENTS.md