An open-source, multi-vendor e-commerce platform built with a modern, type-safe technology stack. It enables buyers to shop from multiple sellers in a unified marketplace.
- For Customers: Unified shopping cart, advanced search and filtering, wishlists, order tracking, and vendor discovery.
- For Vendors: A dedicated dashboard for product management (including variants), order processing, and staff management.
- For Administrators: A central dashboard to manage users, approve vendors, moderate content, and manage product categories.
- Type-safe: End-to-end type safety with tRPC and Zod, ensuring robust and error-resistant code.
- Modern Stack: Built with Next.js, React, and TailwindCSS, running on a Bun-powered monorepo.
- Scalable: The monorepo architecture, managed by Turborepo, allows for efficient code sharing and independent scaling of services.
- Web App
- Next.js, React.js, TailwindCSS
- tRPC client integration
- Dashboard
- React, React Router, TailwindCSS
- tRPC client integration
- Mobile App
- React Native, Expo, TailwindCSS (via Uniwind)
- tRPC client integration
- API: tRPC (type-safe communication)
- ORM: Drizzle ORM + PostgreSQL
- Validation: Zod
- Email Service: Resend
- File Storage: UploadThing
(root)
├── apps
│ ├── dashboard # Vendor/Admin dashboard
│ ├── mobile # Customer-facing mobile app
│ └── web # Customer-facing web app
├── packages
│ ├── api # tRPC API package
│ ├── auth # Authentication utilities
│ ├── db # Drizzle + DB models + queries
│ ├── email # Email service (Resend)
│ ├── lib # Shared utilities/helpers
│ ├── ui # Shared UI components (shadcn/ui)
│ ├── uploadthing # File upload service
│ └── validators # Zod validators
├── tools
│ ├── github # Github workflows/scripts
│ ├── nginx # Deployment config
│ └── typescript # TS base configs
├── docs # Developer & legal documentation
└── docker-compose.yml # Local deployment (NGINX + Postgres + Apps)
Full setup instructions are available in the Development Setup Guide.
-
Clone the repository:
git clone https://github.com/tiesen243/yukinu.git cd yukinu -
Install dependencies:
bun install
-
Set up environment variables:
cp .env.example .env # Edit the .env file with your credentials -
Start the database:
bun run db:start
-
Apply the database schema:
bun run db:push
-
Start all applications:
bun run dev
- Clone the repository to your server or VPS.
- Build and start the web and dashboard apps with Docker Compose:
docker compose up --build -d web dashboard
- Connect your GitHub repository to Vercel.
- Configure environment variables in the Vercel dashboard.
Follow the official Expo guide for building and deploying the mobile app: Create a release build locally
Contributions are welcome! Please read the CONTRIBUTING guide for details on how to get started.
This project is licensed under the MIT License. See the LICENSE file for details.