Skip to content

A modern, production-ready platform for building interactive educational content, built with Laravel, Filament, and InertiaJS.

Notifications You must be signed in to change notification settings

dicodingacademy/h5x-laravel

Repository files navigation

Laravel Filament H5x 🚀

Laravel Filament React Tailwind CSS Docker

Demo GIF

Laravel Filament H5x is a powerful Learning Management System (LMS) component designed to create and manage interactive learning activities. Inspired by H5P, it leverages the robustness of Laravel, the elegance of Filament Admin, and the interactivity of React (via Inertia.js) to deliver a seamless educational experience.

✨ Key Features

  • Interactive Video Player: Engage learners with video content that supports interactive elements.
  • Activity Management: Easily create, edit, and manage learning activities through a user-friendly admin panel.
  • Live Preview: Instantly preview your interactive content as you build it.
  • Modern Stack: Built with the latest technologies for performance and scalability.
  • Dockerized: Fully containerized environment for consistent development and deployment.

🛠️ Tech Stack

  • Backend: Laravel 11
  • Admin Panel: FilamentPHP v3
  • Frontend: React.js with Inertia.js
  • Styling: Tailwind CSS
  • Database: MySQL (via Docker)
  • DevOps: Docker & Docker Compose

🚀 Getting Started

Follow these steps to get the project up and running on your local machine.

Prerequisites

Ensure you have the following installed:

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/laravel-filament-h5x.git
    cd laravel-filament-h5x
  2. Set up environment variables

    cp .env.example .env
  3. Build and start the containers We use a Makefile to simplify common commands.

    make build
    make up
  4. Install dependencies

    make install      # Installs PHP dependencies
    make npm-install  # Installs Node dependencies
  5. Setup Database

    make fresh        # Runs migrations and seeders
  6. Start Development Server

    make npm-dev

📖 Usage

Admin Panel

Access the Filament admin panel to manage content:

  • URL: http://localhost/admin
  • Credentials: (Check database/seeders/DatabaseSeeder.php or create a user via make artisan cmd="make:filament-user")

Frontend

Access the public-facing learning activities:

  • URL: http://localhost

🔧 Useful Commands

Command Description
make up Start Docker containers
make down Stop Docker containers
make shell Access the app container shell
make artisan cmd="..." Run Artisan commands (e.g., make artisan cmd="migrate")
make test Run PHP tests

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is open-sourced software licensed under the MIT license.

About

A modern, production-ready platform for building interactive educational content, built with Laravel, Filament, and InertiaJS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published