monciego/tachi-kit
๐ก๏ธ My opinionated Laravel/React/Inertia starter kit with batteries included.
๐ก๏ธ Tachi Kit
My opinionated Laravel/React/Inertia starter kit with batteries included.
โจ Features
Built on top of Laravel React Starter Kit, extended with:
- Role-based Permissions - Complete authorization system
- User Management - Admin interface for managing users
- Team Management - Multi-tenant team support
- React 18 + Inertia.js - Modern SPA experience
- Tailwind CSS - Utility-first styling
- Responsive Design - Mobile-friendly out of the box
- Bun - Fast package manager and dev server
- Ready to Deploy - Production-ready setup
Frontend Components
Pre-built, reusable React components to jumpstart your development:
Data Display:
- DataTable - Sortable, filterable, paginated table
- StatCard - Dashboard stats/metrics cards
- Chart - Data visualization components
- Badge - Status indicators
- Avatar - User avatars with fallbacks
Forms:
- FormInput - Text inputs with validation
- Select - Dropdowns with search
- DatePicker - Date selection
- FileUpload - Drag & drop file uploads
UI Elements:
- Modal - Dialog/popup
- Dropdown - Action menus
- Tabs - Tabbed content
- Alert/Toast - Notifications
- Pagination - Page navigation
๐ Quick Start
This project uses Bun for faster installs and development, but npm/pnpm work fine too.
Using GitHub Template
- Click the "Use this template" button above
- Name your new project
- Clone and set up:
git clone https://github.com/monciego/<your-app-name>
cd <your-app-name>
composer install
bun install
cp .env.example .env
php artisan key:generate
php artisan migrate
bun run devUsing degit
npx degit monciego/tachi-kit <your-app-name>
cd <your-app-name>
composer install
bun install
cp .env.example .env
php artisan key:generate
php artisan migrate
bun run dev๐ก Using npm/pnpm? Just replace
bunwith your preferred package manager.
๐ Requirements
- PHP 8.2+
- Composer
- Node.js 18+
- MySQL/PostgreSQL/SQLite
๐ง Installation
-
Install dependencies
composer install bun install
-
Environment setup
cp .env.example .env php artisan key:generate
-
Database configuration
Update your
.envfile with database credentials:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database DB_USERNAME=your_username DB_PASSWORD=your_password
-
Run migrations
php artisan migrate
-
Seed default roles (optional)
php artisan db:seed
-
Start development server
# Terminal 1 - Laravel php artisan serve # Terminal 2 - Vite bun run dev
Visit http://localhost:8000 ๐
๐ฆ What's Included
Authentication
- Login / Register
- Password Reset
- Email Verification
- Profile Management
Authorization (added by Tachi Kit)
- Role-based access control
- Permission management
- User role assignment
- Protected routes and components
Developer Experience
- Hot Module Replacement (HMR)
- TypeScript support ready
- ESLint & Prettier configured
- Git hooks with Husky (optional)
๐๏ธ Project Structure
tachi-kit/
โโโ app/
โ โโโ Http/
โ โ โโโ Controllers/
โ โ โโโ Middleware/
โ โโโ Models/
โ โโโ Policies/
โโโ resources/
โ โโโ js/
โ โ โโโ Components/
โ โ โโโ Layouts/
โ โ โโโ Pages/
โ โโโ css/
โโโ routes/
โ โโโ web.php
โ โโโ auth.php
โโโ database/
โโโ migrations/
โโโ seeders/
๐จ Customization
Changing App Name
Update APP_NAME in .env:
APP_NAME="My Awesome App"Changing Logo
Replace the logo component in:
resources/js/Components/ApplicationLogo.jsx
Adding New Roles
Edit the seeder or use the admin panel (if implemented).
๐ข Deployment
Build for Production
bun run buildOptimize Laravel
composer install --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache
php artisan view:cache๐ค Contributing
Feel free to submit issues and pull requests!
๐ License
This project is open-sourced software licensed under the MIT license.
๐ Credits
- Built on top of Laravel
- Scaffolded with Laravel React Starter Kit
- Powered by Inertia.js and React
๐ฌ Support
If you find this starter kit helpful, please consider giving it a โญ๏ธ!
Made with โค๏ธ by Jericho Bantiquete