Tutorial #3: Estructura de Carpetas para tu Aplicaci贸n de Video Chat
Tutorial #3: Estructura de Carpetas para tu Aplicaci贸n de Video Chat
馃幆 Introducci贸n
¡Bienvenido de nuevo! En esta lecci贸n, vamos a crear la estructura de carpetas para nuestra aplicaci贸n de video chat.
En la lecci贸n anterior, instalamos XAMPP con Apache y MySQL. Ahora, vamos a organizar nuestros archivos de manera profesional para comenzar a desarrollar.
馃搨 Paso 1: Ubicar la Carpeta htdocs
1.1 ¿D贸nde est谩 htdocs?
La carpeta htdocs es donde guardamos todos los archivos de nuestros sitios web locales.
| Sistema Operativo | Ruta Predeterminada |
|---|---|
| 馃獰 Windows | C:\xampp\htdocs\ |
| 馃崕 macOS | /Applications/XAMPP/htdocs/ |
| 馃惂 Linux | /opt/lampp/htdocs/ |
1.2 Navegar a htdocs
Windows 馃獰
C:\ → xampp → htdocs
macOS 馃崕
Aplicaciones → XAMPP → htdocs
Linux 馃惂
cd /opt/lampp/htdocs/馃梻️ Paso 2: Crear la Carpeta del Proyecto
2.1 Nombre del Proyecto
Vamos a llamar a nuestra carpeta: vchat (video chat)
馃搧 vchat/ ← Carpeta principal del proyecto
2.2 Crear la Carpeta
Opci贸n 1: Desde el Explorador de Archivos
Navega a
htdocsHaz clic derecho → Nueva carpeta
N贸mbrala:
vchat
Opci贸n 2: Desde Terminal (Windows)
cd C:\xampp\htdocs\ mkdir vchat
Opci贸n 3: Desde Terminal (Linux/macOS)
cd /opt/lampp/htdocs/ mkdir vchat
馃彈️ Paso 3: Estructura Completa de Carpetas
Vamos a crear la siguiente estructura:
馃搧 vchat/ ← Ra铆z del proyecto │ ├── 馃搧 assets/ ← Recursos del frontend │ ├── 馃搧 css/ ← Archivos CSS │ │ └── style.css │ ├── 馃搧 js/ ← Archivos JavaScript │ │ ├── app.js │ │ └── webrtc.js │ └── 馃搧 images/ ← Im谩genes y avatares │ └── default-avatar.png │ ├── 馃搧 core/ ← L贸gica del backend │ └── 馃搧 classes/ ← Clases PHP │ ├── Database.php │ ├── User.php │ └── Call.php │ ├── 馃搧 websocket/ ← Servidor WebSocket (Node.js) │ ├── server.js │ └── package.json │ ├── 馃搧 includes/ ← Archivos incluidos │ ├── config.php │ └── functions.php │ ├── 馃搧 api/ ← Endpoints API │ ├── get_users.php │ └── get_user.php │ ├── 馃搧 uploads/ ← Subidas de usuarios │ └── profiles/ │ ├── 馃搫 index.php ← P谩gina principal ├── 馃搫 login.php ← Login ├── 馃搫 register.php ← Registro ├── 馃搫 profile.php ← Perfil de usuario ├── 馃搫 logout.php ← Cerrar sesi贸n └── 馃搫 .htaccess ← Configuraci贸n Apache
馃枼️ Paso 4: Crear las Carpetas (Pr谩ctico)
4.1 Crear la Estructura desde el Explorador
Windows 馃獰
C:\xampp\htdocs\vchat\
├── assets\
│ ├── css\
│ ├── js\
│ └── images\
├── core\
│ └── classes\
├── includes\
├── api\
└── uploads\
└── profiles\macOS 馃崕
/Applications/XAMPP/htdocs/vchat/
├── assets/
│ ├── css/
│ ├── js/
│ └── images/
├── core/
│ └── classes/
├── includes/
├── api/
└── uploads/
└── profiles/4.2 Crear con Comandos (Linux/macOS)
cd /opt/lampp/htdocs/ mkdir -p vchat/{assets/{css,js,images},core/classes,includes,api,uploads/profiles}
4.3 Crear con Comandos (Windows - PowerShell)
cd C:\xampp\htdocs\ New-Item -ItemType Directory -Path "vchat\assets\css","vchat\assets\js","vchat\assets\images","vchat\core\classes","vchat\includes","vchat\api","vchat\uploads\profiles" -Force
馃摑 Paso 5: Crear el Archivo de Prueba
5.1 Crear index.php
En la carpeta ra铆z vchat/, crea el archivo index.php
<!-- vchat/index.php --> <?php // Esto es solo una prueba echo "<h1>馃殌 ¡Hola Mundo!</h1>"; echo "<p>El servidor est谩 funcionando correctamente.</p>"; echo "<p>Estamos listos para construir nuestra aplicaci贸n de video chat.</p>"; ?>
5.2 Crear un .htaccess (Opcional)
# vchat/.htaccess
RewriteEngine On
# Redirecci贸n de URLs amigables
RewriteRule ^perfil/([0-9]+)/?$ profile.php?id=$1 [L]
# Proteger carpetas sensibles
<FilesMatch "\.(sql|log|ini)$">
Order allow,deny
Deny from all
</FilesMatch>
# Permitir subida de archivos
<Directory "uploads">
Options -Indexes
</Directory>
# Configuraci贸n de errores
ErrorDocument 404 /vchat/404.html✅ Paso 6: Probar el Servidor
6.1 Asegurar que Apache est茅 corriendo
Windows
Abre el XAMPP Control Panel
Verifica que Apache est茅 con fondo verde
Si no, haz clic en "Start"
macOS
Abre XAMPP Manager
Verifica que Apache est茅 encendido
Linux
sudo /opt/lampp/lampp status # Busca: Apache...ok.
6.2 Abrir el Navegador
Escribe en la barra de direcciones:
http://localhost/vchat/
Resultado esperado:
馃殌 ¡Hola Mundo! El servidor est谩 funcionando correctamente. Estamos listos para construir nuestra aplicaci贸n de video chat.
6.3 Verificar la Lista de Archivos
Si ves una lista de archivos en lugar de "Hola Mundo", significa que no hay archivo index.php o que la configuraci贸n de Apache permite listar directorios.
Para desactivar el listado de directorios:
# En .htaccess Options -Indexes
馃Ч Paso 7: Limpieza y Organizaci贸n
7.1 Archivos Temporales
Crea un archivo README.md para documentar tu proyecto:
# Video Chat con PHP y WebRTC ## 馃搵 Descripci贸n Aplicaci贸n de video chat en tiempo real usando WebRTC, PHP y WebSockets. ## 馃搧 Estructura del Proyecto - `/assets` - Recursos est谩ticos (CSS, JS, im谩genes) - `/core` - Clases PHP - `/includes` - Configuraci贸n y funciones - `/api` - Endpoints API - `/uploads` - Archivos subidos por usuarios ## 馃殌 Instalaci贸n 1. Clonar en htdocs 2. Importar database.sql 3. Iniciar servidor WebSocket 4. Abrir en navegador
7.2 Configuraci贸n de Git (Opcional)
cd C:\xampp\htdocs\vchat git init echo "uploads/" > .gitignore echo "*.log" >> .gitignore
馃搳 Resumen de la Estructura
¿Para qu茅 sirve cada carpeta?
| Carpeta | Prop贸sito | Contenido |
|---|---|---|
| 馃搧 assets/ | Recursos est谩ticos | CSS, JavaScript, im谩genes |
| 馃搧 core/classes/ | Clases PHP | Database, User, Call |
| 馃搧 includes/ | Configuraci贸n | config.php, functions.php |
| 馃搧 api/ | Endpoints | get_users.php, get_user.php |
| 馃搧 uploads/ | Archivos de usuarios | Avatares, im谩genes de perfil |
| 馃搧 websocket/ | Servidor WebSocket | server.js, package.json |
¿Qu茅 archivos vamos a crear?
| Archivo | Funci贸n |
|---|---|
index.php | P谩gina principal con lista de usuarios |
login.php | Formulario de inicio de sesi贸n |
register.php | Formulario de registro |
profile.php | Perfil de usuario con opci贸n de llamada |
logout.php | Cerrar sesi贸n |
api/get_users.php | Obtener todos los usuarios |
api/get_user.php | Obtener un usuario espec铆fico |
馃幆 Verificaci贸n Final
Lista de Verificaci贸n
- □
¿XAMPP est谩 instalado?
- □
¿Apache est谩 corriendo?
- □
¿MySQL est谩 corriendo?
- □
¿Creaste la carpeta
vchaten htdocs? - □
¿Creaste todas las subcarpetas?
- □
¿Creaste
index.php? - □
¿Puedes ver "Hola Mundo" en
http://localhost/vchat/?
Si todo funciona, ¡Felicidades! 馃帀
Has configurado correctamente la estructura de tu proyecto de video chat. Est谩s listo para comenzar a programar.
馃啒 Soluci贸n de Problemas
Error: "No se puede acceder a la carpeta"
Soluci贸n: Verifica los permisos de la carpeta
# Linux sudo chmod -R 755 /opt/lampp/htdocs/vchat # Windows # Haz clic derecho → Propiedades → Seguridad → Editar permisos
Error: "404 Not Found"
Soluci贸n:
Verifica que el archivo existe
Comprueba la URL:
http://localhost/vchat/Reinicia Apache
Error: "No se muestra Hello World"
Soluci贸n:
Aseg煤rate de que el archivo se llame
index.phpVerifica que tenga la extensi贸n
.php, no.txtComprueba que Apache est茅 ejecut谩ndose
馃挕 Consejos para Organizaci贸n
Buenas Pr谩cticas
Nombres consistentes: Usa min煤sculas para carpetas
Separa responsabilidades: Backend en
core/, frontend enassets/C贸digo limpio: Mant茅n los archivos ordenados y comentados
Control de versiones: Usa Git desde el principio
Backups: Guarda tu trabajo frecuentemente
Estructura de Nombres de Archivos
✅ Bien: User.php, Database.php, Call.php ❌ Mal: userclass.php, data_base.php, clase_de_llamada.php ✅ Bien: get_users.php, get_user.php ❌ Mal: getusers.php, getUser.php ✅ Bien: style.css, app.js ❌ Mal: cssstyles.css, javascript.js
馃摎 Resumen
En esta lecci贸n hemos:
✅ Localizado la carpeta
htdocs✅ Creado la carpeta principal
vchat✅ Establecido la estructura completa de carpetas
✅ Creado un
index.phpde prueba✅ Verificado que el servidor funciona
馃殌 Pr贸ximo Paso
En la siguiente lecci贸n, vamos a:
Configurar la base de datos MySQL
Crear la tabla de usuarios
Establecer la conexi贸n PHP con MySQL
Comentarios
Publicar un comentario