Skip to content

davinaleong/proj-praise-story

Repository files navigation

Testimony Creator

Laravel Forge Site Deployment Status

A lightweight web app for creating and managing Christian testimonies. Built with Laravel, Livewire, MySQL, and Tailwind CSS.

🔧 Tech Stack

  • Backend: Laravel 10+
  • Frontend: Livewire 3, Blade templates
  • Styling: Tailwind CSS 3
  • Database: MySQL
  • Others: PHP 8.2+, Composer, Laravel Artisan CLI

✨ Features

  • ✍️ 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 Structure

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.

🚀 Getting Started

Prerequisites

  • PHP 8.2+
  • Composer
  • Node.js + npm
  • MySQL

Installation

# 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 serve

🛡️ License

This project is open-sourced under the MIT License.

🙌 Author

Made with ❤️ by Davina Leong

About

Christian web app for users to create their testimonies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages