https://github.com/joanarturo/your-rooms
Proyecto de salas de chat elaborado con Laravel 6 y Web Sockets.
https://github.com/joanarturo/your-rooms
axios bootstrap laravel laravel-echo-server php socket-io
Last synced: 3 months ago
JSON representation
Proyecto de salas de chat elaborado con Laravel 6 y Web Sockets.
- Host: GitHub
- URL: https://github.com/joanarturo/your-rooms
- Owner: JoanArturo
- Created: 2023-03-29T20:11:32.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-04T23:37:23.000Z (about 2 years ago)
- Last Synced: 2025-01-07T21:47:07.230Z (5 months ago)
- Topics: axios, bootstrap, laravel, laravel-echo-server, php, socket-io
- Language: PHP
- Homepage:
- Size: 2.55 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Your Rooms
Este proyecto consiste en un sistema de salas de chat en línea que permite a los usuarios conectarse y comunicarse en tiempo real. Está dirigido a cualquier persona interesada en conocer y socializar con otros usuarios a través de una plataforma virtual.
## Pre-requisitos 📋
Para la correcta ejecución de este proyecto, necesitas tener las siguientes tecnologías instaladas en tu ordenador.
* Php ^7.2.5|^8.0
* Composer 1.8.0
* Laravel ^6.20.26
* Laravel Echo Server 1.6.3
* Redis ^4.0.14
* Npm 8.19.3
* MySQL ^5.5
## Instalación 🔧1. Clona este proyecto.
```bash
git clone https://github.com/JoanArturo/your-rooms.git
```2. Instala las dependencias de php con composer.
```bash
composer install
```3. Instala las dependencias de javascript con npm.
```bash
npm install
```4. Crea una nueva base de datos con tu gestor de base de datos preferido.
5. Crea el archivo .env y configura las variables de entorno correspondientes.
```json
APP_NAME="Your Rooms"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://you-rooms.comLOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3308
DB_DATABASE=your_new_database
DB_USERNAME=your_username
DB_PASSWORD=your_passwordBROADCAST_DRIVER=redis
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379MAIL_DRIVER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="${APP_NAME}"AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"FILESYSTEM_DRIVER=public
REDIS_CLIENT=predisGOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
CALLBACK_URL_GOOGLE="http://you-rooms.com/auth/google/callback"
```6. Configura una cuenta Gmail para obtener el GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET y CALLBACK_URL_GOOGLE para que el módulo de inicio de sesión por correo funcione correctamente.
7. Genera una APP_KEY.
```bash
php artisan key:generate
```8. Ejecuta las migraciones con los seeders.
```bash
php artisan migrate:fresh --seed
```9. Crea el enlace de la carpeta storage/app/public.
```bash
php artisan storage:link
```10. Genera el archivo de configuración laravel-echo-server.json.
```bash
laravel-echo-server init
```11. Configura el archivo laravel-echo-server.json.
```json
{
"authHost": "http://you-rooms.com",
"authEndpoint": "/broadcasting/auth",
"clients": [],
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": "127.0.0.1",
"port": "6001",
"protocol": "http",
"socketio": {},
"secureOptions": 67108864,
"sslCertPath": "",
"sslKeyPath": "",
"sslCertChainPath": "",
"sslPassphrase": "",
"subscribers": {
"http": true,
"redis": true
},
"apiOriginAllow": {
"allowCors": false,
"allowOrigin": "",
"allowMethods": "",
"allowHeaders": ""
}
}
```12. Ejecuta el demonio de Laravel Echo Server.
```bash
laravel-echo-server start
```13. Ejecuta el proyecto laravel.
```bash
php artisan serve
```
## Construido con 🛠️
- [Laravel 6.20.26](https://laravel.com/docs/6.x)
- [Composer 1.8.0](https://getcomposer.org/)
- [Bootstrap 4.0.0](https://getbootstrap.com/docs/4.0/getting-started/introduction/)
- [Laravel Echo Server 1.6.3](https://github.com/tlaverdure/laravel-echo-server)
- [Laravel Echo 1.15.0](https://github.com/laravel/echo/tree/v1.15.0)
- [Socket IO Client 2.3.0](https://socket.io/docs/v2/client-installation/)
- [Axios 0.19](https://github.com/axios/axios/tree/v0.19.0)
- [Remix Icon 2.5.0](https://remixicon.com/releases)
- [Select2 4.1.0](https://select2.org/getting-started/installation)
- [MySQL 5.5](https://downloads.mysql.com/archives/community/)
- [Redis 4.0.14](https://redis.io/download/)
- [Npm 8.19.3](https://www.npmjs.com/package/npm/v/8.19.3)## Preview 📸
- Inicio de sesión
- Registro
- Pagina principal
- Sala de chat
- Galería de fotos del usuario
- Datos de perfil del usuario
- Otros ajustes
- Sidebar de salas disponibles
- Sidebar de salas abiertas por el usuario
- Listado de usuarios (Administrador)
- Listado de salas (Administrador)
- Listado de reportes recibidos (Administrador)

## Autor 🖋️- [@JoanArturo](https://github.com/JoanArturo)