Logo Lanfrica

0xMoRyuk/UI_platform

Domain:

digital infrastructure

Record type:

software
Creator:
0xM
Host:
UI Platform - Cloud Run-first monorepo for Africa-focused web applications # UI Platform **Monorepo** for multiple independent web applications designed for users in Africa, where data usage has a direct monetary cost. ## Core Principles 1. **Bytes are money** - Optimize for value per megabyte 2. **Perceived speed > raw speed** - Always show something immediately 3. **Scale-to-zero by default** - No always-on servers unless justified 4. **Async by default** - Heavy work never blocks user requests 5. **Offline-first mindset** - Assume intermittent connectivity See CLAUDE.md for complete architectural guidelines. ## Architecture **Monorepo Structure:** - **`apps/*`** - Independent applications (each deploys as separate Cloud Run service) - **`packages/*`** - Shared code across all applications - `ui` - Shared UI components (shadcn/ui) - `config` - Shared configurations - `types` - Shared TypeScript types - `utils` - Shared utility functions - `infra` - Infrastructure and deployment code **Tech Stack:** - Monorepo: Bun workspaces - Framework: Vite / React 19 (ai4su) - Language: TypeScript - Styling: Tailwind CSS - Components: shadcn/ui - Runtime: Bun - Deployment: Google Cloud Run ## Getting Started ### Prerequisites - Bun >= 1.0 - gcloud CLI (for deployment) ### Installation ```bash # Clone the repository git clone cd UI_platform # Install all dependencies bun install ``` ### Development ```bash # Run the app cd apps/ai4su bun run dev ``` ## Working with Apps ### Developing the App ```bash # Navigate to app cd apps/ai4su # Start development server bun run dev # Build for production bun run build # Type checking bun run type-check # Linting bun run lint ``` ### Adding New App 1. **Create app directory:** ```bash mkdir apps/new-app cd apps/new-app ``` 2. **Initialize framework:** ```bash bunx create-next-app@latest . --typescript --tailwind --app --use-bun ``` 3. **Configure shared packages:** - Update `tsconfig.json` to extend `@ui-platform/config/tsconfig/nextjs.json` - Update `tailwind.config.ts` to extend `@ui-pla …