Este es un proyecto de foro de preguntas y respuestas construido con Laravel y Livewire. Los usuarios pueden crear, editar y responder preguntas, así como filtrar preguntas por categorías.
- Autenticación de Usuarios: Los usuarios pueden registrarse e iniciar sesión.
- Creación de Preguntas: Los usuarios autenticados pueden crear nuevas preguntas.
- Edición de Preguntas: Los usuarios pueden editar sus propias preguntas.
- Respuestas: Los usuarios pueden responder a las preguntas.
- Filtrado por Categorías: Las preguntas pueden ser filtradas por categorías.
- Paginación: Las preguntas y respuestas están paginadas para una mejor experiencia de usuario.
app/Http/Controllers/ThreadController.php: Controlador para manejar la creación, edición y actualización de preguntas.app/Livewire/ShowThreads.php: Componente Livewire para mostrar y filtrar preguntas.app/Livewire/ShowThread.php: Componente Livewire para mostrar una pregunta específica y sus respuestas.app/Livewire/ShowReply.php: Componente Livewire para manejar las respuestas a las preguntas.resources/views/thread/: Vistas Blade para la creación y edición de preguntas.resources/views/livewire/: Vistas Blade para los componentes Livewire.database/seeders/DatabaseSeeder.php: Seeder para poblar la base de datos con datos de prueba.
-
Clona el repositorio:
git clone https://github.com/tu-usuario/tu-repositorio.git cd tu-repositorio -
Instala las dependencias de PHP:
composer install
-
Instala las dependencias de Node.js:
npm install
-
Copia el archivo
.env.examplea.envy configura tus variables de entorno:cp .env.example .env
-
Genera la clave de la aplicación:
php artisan key:generate
-
Ejecuta las migraciones y seeders para preparar la base de datos:
php artisan migrate --seed
-
Compila los assets de frontend:
npm run dev
-
Inicia el servidor de desarrollo:
php artisan serve
- Visita
http://localhost:8000en tu navegador. - Regístrate o inicia sesión para comenzar a crear y responder preguntas.
¡Las contribuciones son bienvenidas! Por favor, abre un issue o envía un pull request.
Este proyecto está licenciado bajo la MIT License.