A lightweight web app for creating and managing Christian testimonies. Built with Laravel, Livewire, MySQL, and Tailwind CSS.
- Backend: Laravel 10+
- Frontend: Livewire 3, Blade templates
- Styling: Tailwind CSS 3
- Database: MySQL
- Others: PHP 8.2+, Composer, Laravel Artisan CLI
- ✍️ Create, edit, and manage testimonies with support for:
- Public Testimonies: Viewable by everyone.
- Private Testimonies (Premium): Only accessible to logged-in users.
- Published Testimonies: A personal wall showing all of a user’s own testimonies (both public and private).
- 🔒 Authentication system with registration and login
- 📊 Personalized dashboard with counters and a listing of all authored testimonies
- ⚡ Livewire-powered interactive components
- 🎨 Fully responsive UI styled with Tailwind CSS
- 🔌 Clean, modular Laravel structure for easy customization
| Page Type | URL Pattern | Access Level | Description |
|---|---|---|---|
| Public | / and /testimony/{id} |
Anyone (guest or logged-in) | Lists and displays testimonies marked as "public". Users can register to create their own. |
| Private | /private and /private/{id} |
Logged-in users with subscription | Displays all private + public testimonies. Premium feature. |
| Published | /me/testimonies and /me/testimonies/{id} |
Logged-in users only | Shows the logged-in user’s own testimonies (public and private) in a clean layout. |
| Dashboard | /me/dashboard |
Logged-in users only | Provides a summary (counts) of all their testimonies and a full listing with links to manage/view them. |
- PHP 8.2+
- Composer
- Node.js + npm
- MySQL
# Clone the repo
git clone https://github.com/yourusername/testimony-creator.git
cd testimony-creator
# Install backend dependencies
composer install
# Copy .env and set your environment variables
cp .env.example .env
php artisan key:generate
# Configure your MySQL credentials in the .env file
# Then run the migrations and seed the default data
php artisan migrate
php artisan db:seed
# (Optional) Seed admin user for admin panel access
php artisan db:seed --class=AdminSeeder
# Make sure to update the admin panel configurations in your .env file
# e.g., ADMIN_EMAIL, ADMIN_PASSWORD, etc.
# Install frontend dependencies
npm install && npm run dev
# Serve the app locally
php artisan serveThis project is open-sourced under the MIT License.
Made with ❤️ by Davina Leong