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: about 2 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 (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-04T23:37:23.000Z (about 3 years ago)
- Last Synced: 2025-01-07T21:47:07.230Z (over 1 year 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.com
LOG_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_password
BROADCAST_DRIVER=redis
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_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=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
FILESYSTEM_DRIVER=public
REDIS_CLIENT=predis
GOOGLE_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)