Bedrock โ
Your private workspace by design, not by promise.
A decentralized drive-like file manager built with Next.js, React, Tailwind CSS, and Aleph.im. This application lets users upload, organize, sort, and manage files in a cloud interface similar to Proton Drive.
Bedrock.im is a project built on top of Aleph.im's decentralized cloud, supported by their Acceleratooor program.
As the project is still in its early stages, ways to contribute and understand the technical architecture aren't properly documented yet and will gradually appear in our documentation.
If you're interested to learn more about this project, feel free to reach out by creating an issue, or contacting any of the team members.
๐ Features โ
- ๐ Search files and folders
- ๐งฉ Sort by name, size, or creation date
- ๐๏ธ Create folders
- ๐ค Upload files (drag and drop supported)
- ๐งญ Breadcrumb navigation
- โ Multi-file selection
- ๐๏ธ Soft/hard delete with restore option
- ๐ Rename and move files
- ๐ End-to-end encryption with Aleph storage
๐ ๏ธ Stack โ
- Frontend: Next.js (App Router), TypeScript, Tailwind CSS
- State management: Zustand
- UI library: Radix UI + Lucide Icons
- UI testing tools: storybook
- AI: openai
- Wallet management: thirdweb + ethers
- Storage: Aleph.im via
@aleph-sdk/*
๐ Project Structure โ
.
โโโ components/drive/ # All drive-specific components (FileList, UploadButton, etc.)
โโโ components/ui/ # Design system (Table, Breadcrumbs, etc.)
โโโ stores/ # Zustand stores (drive and account state)
โโโ hooks/ # Custom hooks like use-bedrock-file-upload-dropzone
โโโ pages/ # Next.js route files
โโโ public/ # Static assets
โโโ ...
๐งช Available Scripts โ
yarn dev # Start dev server on localhost:3000
yarn build # Build the app for production
yarn start # Run production build
yarn lint # Run ESLint
yarn format # Format code with Prettier
yarn test # Run tests (Jest)
yarn storybook # Launch Storybook
โ๏ธ Environment โ
Make sure to configure your .env.local
if your Bedrock/Aleph services require secrets or specific URLs.
๐ฆ Dependencies โ
This project uses:
@aleph-sdk
: To interact with Aleph's decentralized networkzustand
: Lightweight state managementreact-dropzone
: File upload handlingradix-ui
: Unstyled component primitiveslucide-react
: Icon setnuqs
: Query state forsearch
,cwd
,sort
, etc.
๐ Future Improvements โ
- ๐ง Smart search suggestions
- โ Real-time editor for files
Team โ
![]() Pablo Levy | ![]() Florian Lauch | ![]() Dorian Moy | ![]() Reza Rahemtola |
---|