El objetivo del articulo es explicar una técnica de cómo ordenar y estructurar todo lo referente a un proyecto web: sea este un sitio o sistema.
Toda actividad, sea de estudio o laboral, conlleva el utilizar técnicas o actividades sistemáticas a la hora de comenzar o dar forma a la iniciativa, estas pueden ser realizadas de forma conscientes o inconscientes, pero utilizadas al fin.
El iniciar un proyecto web incumbe las siguientes fases: - Análisis del problema - Definición de objetivos generales y específicos - Planificación de ejecución - Diseño e implementación - Documentación - Entre otros. En tema que me interesa abordar en este artículo se refiere a como estructurar todo lo referente al Diseño e Implementación de un proyecto web.
Todo proyecto web va a incorporar documentos de referencia o planificación, el diseño de base de datos, el diseño de la interface grafica, las imágenes corporativas, archivos de contenidos, archivos del lenguaje de programación utilizado, scripts necesarios para determinados efectos o comportamientos, hojas de estilo, y otros mas, dependiendo de la magnitud y características del mismo.
A fin de ordenar todo ello, la estructura organizativa que propongo es:
Estructura organizativa de un proyecto web
proyectoweb: esta carpeta representa la raíz del proyecto, y es donde debe estar la pagina principal o portada (index.*). Además, puede estar la hoja de estilo y archivos de información para buscadores.
html: en esta carpeta colocar todos los archivos que poseen los contenidos del sitio, sea este estático o dinámico, y se accederán a ellos a través de la pagina principal. Si los contenidos son en gran cantidad y variados se puede ordenarlos internamente mediante la creación de carpetas o mediante la utilización de una codificación descriptiva en el nombre de los archivos.
imagenes: esta carpeta contiene todas las imágenes de la interface grafica, corporativas o institucionales y especificas de determinados efectos o comportamientos. Aquí también se puede aplicar lo aconsejado en la carpeta html, si las imágenes son en gran cantidad y para variados propósitos.
utiles: aquí colocar los script necesarios para determinados efectos o comportamientos incorporados en el sitio, como ser menús, efectos de dinamismo, obtención de datos o comportamientos del usuario, validación de datos, ventajas emergentes o modales, etc.
archivos: muchos proyectos incorporan la posibilidad de descarga de archivos, en esta carpeta se pueden crear sub-carpetas según las características o tipos de los mismos. El acceso a ellos deberá ser a través de los archivos de contenidos y no permitir el acceso publico.
fuentes: en esta carpeta colocar todos los archivos generados para el diseño de la interface grafica, animaciones, logos, iconos o botones incorporados. Todos ellos deberán estar ordenados según la utilidad dada o de forma cronológica, si se trata de demos.
modelo_datos: esta carpeta contendrá todo lo referente al diseño del modelo conceptual de datos, al modelo físico de datos y a los scripts para la creación y actualización de la base de datos. Estos archivos deberán estar ordenados de forma cronológica, según la evolución de los mismos, dado que ellos podrán ser utilizados para otros proyectos similares o con características afines.
backups: esta carpeta contendrá las copias de seguridad de contenidos y datos del proyecto, ordenados de forma cronológica.
La estructura propuesta es fácilmente ajustable a cualquier proyecto web, dado que permite el acceso a todo lo relacionado al mismo. Se aclara, además, que esta estructura es propuesta para el programador o desarrollador web, debiendo estar sincronizado con el servidor de pruebas y el servidor en línea, a fin de evitar la perdida de datos.