A minimal backend platform
A lightweight backend platform providing authentication, document storage, file handling, and RBAC through a type-safe API and React-based control plane.
The platform is engineered as a monorepo leveraging Bun and Turborepo. It prioritizes:
- Edge-native compatibility: Designed to run efficiently on modern runtimes.
- Type Safety: End-to-end typing shared between client and server.
- Minimalism: Leveraging standard Web APIs (Request/Response) over heavy framework abstractions.
- JWT-based session management with automatic access and refresh token rotation.
- Secure, industry-standard password hashing using Argon2id.
- Passwordless authentication flows using Magic Links.
- Extensible OAuth2 interface supporting providers like GitHub and Google.
- Dynamic schema definitions utilizing runtime Zod validation.
- Strict multi-tenant isolation via logical project separation.
- Advanced querying capabilities leveraging PostgreSQL JSONB.
- Pluggable driver architecture supporting Local filesystem and S3-compatible providers (AWS, MinIO, R2).
- Secure, presigned upload mechanisms and streaming downloads.
- Integrated file metadata tracking and management.
- Granular Role-Based Access Control (RBAC) with Owner, Admin, Member, and Viewer roles.
- Project-scoped API keys with precise permission enforcement.
- Native rate limiting to prevent abuse.
- Runtime: Bun v1.2+
- API Framework: Hono
- Database: PostgreSQL (JSONB) with Drizzle ORM
- Dashboard: React 19, Vite 6, Tailwind CSS v4
- Routing: TanStack Router
- State Management: TanStack Query
- Tooling: Turborepo, Biome
- Bun: v1.2 or higher
- Docker: Required for local PostgreSQL instance
-
Clone the repository
git clone https://github.com/itisrohit/base0.git cd base0 -
Install dependencies
bun install
-
Configure environment
cp .env.example .env
-
Initialize infrastructure Start the database container and apply schema migrations:
docker-compose up -d db bun run db:push
To start the API and Dashboard simultaneously in development mode:
bun run dev- API Server: http://localhost:3001
- Dashboard: http://localhost:3000
Please review CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License.

