وَدَّ (Waddda) - derived from the Arabic root مودة (mawadda, meaning love/affection) - is a simple, one-page app that helps you treasure and remember the good moments in your relationships. When conflicts arise, it's easy to forget the love and kindness shared, but Waddda lets you record and revisit your favorite memories. The app features a calendar where you can see your memories, and by clicking on any day, you can view the specific memories for that day. You can also filter the calendar by contact or memory color, making it easier to find the moments that matter most. Waddda helps you reconnect and strengthen bonds, one memory at a time.
- 📅 Calendar view of memories
- 👥 Organize memories by contact
- 🎨 Color-code memories for easy filtering
- 📝 Rich memory entries with titles, content, and media
- 🔍 Filter memories by contact or color
- PHP 8.2 or higher
- Composer
- Node.js and npm
- SQLite (or MySQL/PostgreSQL)
- Clone the repository:
git clone <repository-url>
cd waddda- Install PHP dependencies:
composer install- Install Node.js dependencies:
npm install- Set up environment:
cp .env.example .env
php artisan key:generate- Run migrations:
php artisan migrate- Seed the database (including colors for production):
php artisan db:seedFor production environments, make sure to run the color seeder:
php artisan db:seed --class=ColorSeederThis will populate the colors table with predefined color options that are essential for the app to function properly.
To seed the database with test data (test user with contacts and memories covering all scenarios):
php artisan db:seed --class=TestUserSeederThis will create:
- A test user (email:
test@example.com, password:password) - 4 contacts (Alice, Bob, Charlie, Diana)
- Multiple memories covering all scenarios:
- Memories with contact and color
- Memories with contact but no color
- Memories with color but no contact
- Memories with neither contact nor color
- Multiple memories on the same date
- Memories spread across different dates
This is useful for testing the calendar functionality and all filtering options.
Start the development server:
composer run devThis will start:
- Laravel development server
- Vite dev server
- Queue worker
- Pail (log viewer)
Or use the individual commands:
php artisan serve
npm run dev- Backend: Laravel 12
- Frontend: React 19 with TypeScript
- UI: Tailwind CSS with Radix UI components
- Architecture: Inertia.js for seamless SPA experience
- Authentication: Laravel Fortify