A modern Laravel + Inertia.js + React-based dashboard for managing WhatsApp marketing campaigns, contacts, reports, and scheduling with a clean and intuitive UI.
- π Contact Management (Add, Edit, Delete, Import)
- π Dashboard with campaign and contact stats
- π Campaign Insights and Reports
- ποΈ Campaign Scheduling
- βοΈ Simple Settings Page (placeholder)
- π§Ύ CSV/Excel Contact Import UI
- π¦ API-ready structure using Laravel controllers and Inertia responses
- Backend: Laravel 10+, PHP 8+
- Frontend: React + Inertia.js
- Styling: TailwindCSS
- Icons: Lucide
- State Management: useState (React), Inertia.js props
βββ app/
β βββ Http/
β β βββ Controllers/
β β β βββ ContactController.php
β βββ Models/
β β βββ Contact.php
β
βββ resources/
β βββ js/
β βββ Pages/
β β βββ DashboardPage.tsx
β β βββ ContactsPage.tsx
β β βββ CampaignsPage.tsx
β β βββ ReportsPage.tsx
β β βββ SchedulePage.tsx
β βββ components/
β βββ contacts/
β βββ ContactForm.tsx
β βββ ContactsList.tsx
β
βββ database/
β βββ factories/
β β βββ ContactFactory.php
β βββ seeders/
β βββ DatabaseSeeder.php
```bash
git clone https://github.com/AngeArsene/WhatsApp_Campaign_Hub.git
cd whatsapp-campaign-hub
```
composer install
npm installcp .env.example .env
php artisan key:generatephp artisan migrate --seednpm run buildcomposer run dev- Visit http://localhost:8000 to view the app.
Supported formats:
.csv.xlsx.xls
Required columns:
first_namelast_namephone_number
π‘ You can download a sample template from the import modal in the app.
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License.
Made with β€οΈ using Laravel & React. For questions or support, please open an issue on GitHub.