Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
Hola todos,

Creo este hilo para poner el paso a paso de un proyecto para hacerlo web usando gambas como servidor.

MiniMensajes

Intro:
La idea de este proyecto viene una característica que me pidió un cliente para su web (en PHP) que no estaba pensada en el inicio del trabajo al igual que otra media docena de ideas que se le ocurrió en una reunión... por esto y otros motivos el proyecto fue finalmente abandonado.

En esa ocasión quedé con la idea de realizar un pequeño foro, con mensajes cortos y que luego he soñado con hacerlo como una web de mensajes, que sea sencilla y rápida de cargar... Sólo que a veces con tanto Fb Messenger, Whatsapp, Telegram y otros me da dudas de reinventar la rueda.

Pero sirva ésta vez como forma de introducirme en esa área no vista por mi de gambas como servidor web.  Por lo tanto serán testigos de los éxitos y fracasos del mismo, esperando sea más de lo primero que de lo segundo.

Boceto del proyecto

Muestro una imagen inicial de como ordené las ideas que rondaban sobre este proyecto:

 borrador_minim

Luego lo trasladé a un diagrama para ordenar el sitio en LibreOffice Draw quedando así:

 sitiowebminim

Con eso planteo que la base de datos a usar debe tener las siguiente tablas y registros:
--------------------------------
usuarios(idUsuario, nombreUsuario, email, clave, fechaRegistro, avatar, habilitado) //obs. La clave será encriptada. Avatar puede ser una imagen de unos 150x150 px y se guardará la ruta de donde quedará guardada al subirla

roles(idRol, NombreRol)  //obs. al inicio será Admin y Usuario.  Quizá sea interesante añadir un moderador

usuarioRol(idUR, fk_IdUsuario, fk_IdRol)

foros(idForo, nombreForo, fechaCreación, habilitado)

tiposMsj(idTM, Nombre) //obs. Es un mensaje inicial (padre) o la respuesta a otro (hijo)

mensajes(idM, texto, fk_IdForo, fk_idTipoMsj, numeroMensaje, fechaHora, numeroIp, habilitado)

usuarioMensaje(idUM, fk_idUsuario, fk_Mensaje)

peticionForos(idPF, texto, fk_idUsuario, habilitado)

---------------------------------------------------

Eso por el momento. Hasta pronto.

----
Edito: Me falta guardar número de mensaje padre, quedando así:
mensajes(idM, texto, fk_IdForo, fk_idTipoMsj, numeroMensaje, fechaHora, numeroIp, habilitado, numeroMsjPadre)  // Si es el inicial es 0 - se podría indicar otros números si es que son mensajes creados luego de intervención del Admin/Moderador.
 



 
última edición por vicr el Jueves, 08 Junio 2017, 18:57; editado 1 vez 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
Perfecto, voy a seguir este hilo.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
Hola a todos...
Hoy dejo archivo comprimido con la base de datos para mysql y sqlit3 para quien la quiera mirar sin tener que instalar nada de MySql...
La base la hice con MySql Workbench, programa que por algún motivo que desconozco siempre me deja mi computador lento, por lo que terminé ingresando algunos registros  (Foro "General", dos usuarios, un mensaje de bienvenida, los tipos de mensajes) con phpMyAdmin.

En SQLite trabajé con el plugin de Firefox llamado "SQLite Manager", no sé si tiene una parte gráfica para hacer la relación de claves foráneas por lo que finalmente terminé escribiendo la sentencia sql, de la siguiente manera:

Citar:

CREATE TABLE "usuariosmsjs" ("idusuariosmsjs" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE , "usuarios_idusuarios" INTEGER, "mensajes_idmensajes" INTEGER, FOREIGN KEY("usuarios_idusuarios") REFERENCES usuarios("idusuarios") , FOREIGN KEY("mensajes_idmensajes") REFERENCES mensajes("idmensajes"))


Los nombres de los campos de claves foraneas tienen la siguiente forma mensajes_idmensajes, lo hice así ya que en MySql Workbench al realizar la conexión (arrastrando y conectando las tablas con la herramienta gráfica para ello los deja con nombres de esa manera, por defecto.  Sí, se puede cambiar y yo no lo hice).  Para que al hacer pruebas con la base de datos podamos usar mysql o sqlite con las mismas sentencias sql mantuve el nombre de los campos en SQLite.

Mientras hacia la bd, pensé en mejoras que dejaré a futuro ya que ahora quiero hacer algo abarcable.  Las mejoras serían comunicaciones de los usuarios con el administrador, con el moderador -cuando exista-.  La presentación de los mensajes, también lo he pensado, agrupados o todos.. etc, etc.
---
Fin de semana, no sé que tanto pueda avanzar.  Nos leemos...

DBgbwebmm.rar
Descripción: Bases de datos para el proyecto web de ejemplo. Contiene una imagen PNG, un script para recrear la bd en MySQL y una base de datos en SQLite. 
Descargar
Nombre del archivo: DBgbwebmm.rar
Tamaño: 62.01 KB
Descargado: 28 veces
DBgbwebmm.rar
Descripción: Bases de datos para el proyecto web de ejemplo. Contiene una imagen PNG, un script para recrear la bd en MySQL y una base de datos en SQLite. 
Descargar
Nombre del archivo: DBgbwebmm.rar
Tamaño: 62.01 KB
Descargado: 28 veces
DBgbwebmm.rar
Descripción: Bases de datos para el proyecto web de ejemplo. Contiene una imagen PNG, un script para recrear la bd en MySQL y una base de datos en SQLite. 
Descargar
Nombre del archivo: DBgbwebmm.rar
Tamaño: 62.01 KB
Descargado: 28 veces

 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
Ta chulo. Te observamos... que pisas terreno casi virgen con eso del gambas web (magnifica cosa con la que Benoit se gana la vida, pero que nadie sabe manejar)      
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
Descargado. Le echare un vistazo.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
Vcir: Estoy mirando la base de datos sqlite que subiste. Creo que yo haré un ejemplo mas sencillo desde el punto de vista de la base de datos ya que mi interés es hacer una aplicación sencilla pero que me permita entender como funciona webform. Creo que hace una agenda de contactos muy sencilla.
Por su puesto tu has lo que te parezca oportuno ya que veo que controlas mas el tema, yo intentare seguirte.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
Buenas tardes,

He tenido una semana con poco tiempo libre y poco he avanzado con el proyecto.
Veamos que tengo hasta ahora:
 bocetos

Es una foto de los bocetos de las vistas, ordenando los componentes dentro del sitio web.  Son 9 vistas dibujadas a mano, algunas en la sala de espera de los lugares a los que tuve que ir.

El miércoles y jueves quise comenzar a traspasarlo a una extensión de Firefox que no me funcionó.  Se llama "Pencil" y permite hacer bocetos de aplicaciones entregando imágenes de controles y figuras básicas.  Creo que el programa fue víctima de alguna actualización de Firefox, lo probé en el Firefox que tengo de Windows y también falló.  No me muestra la hoja en blanco para empezar a trabajar.

Por lo que seguí dibujando las vistas a lápiz y papel.  Con eso tengo la estructura para organizar la estructura HTML y después podré entrar a trabajar en Gambas.

Mencionaba en otro hilo, a propósito del editor Atom, la existencia de un plugin llamado Emmet, antes llamado ZenCoding, que permite acelerar la escritura del HTML (y el CSS) gracias a abreviaturas que cargan porciones de códigos.  Este plugin se puede encontrar para casi todos los editores y yo lo he instalado en Netbeans, Geany, Gedit, etc.  (el etc son editores de Windows).  Por lo que con eso espero tener en pocas horas el HTML del sitio.

Saludos a todos...
 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Web En Gambas Paso A Paso. Del Papel A Su Funcionamiento Web. 
 
en toda web, una cosa importante es que hay mucho reuso de componente o partes de codigo..

gambas carece de algo parecido a un framework, y eso complica el trabajo cuando uno realiza un sistema web con componente como foros junto a carrito de compra..

deberias emplear instancias de una libreria que conecte todo en la web..

yo comence con lo de la web, recomeindo montes el projecto en gitlab asi el codigo podras reusarlo empleando submodulos git.. o librerias gambas esta ultima es la recomendable si no sabes git

ejemplo todo lo que es conectar a la db y emplearla debe ser en una lib..

si usas sqlite tendras problemas de I/O por la concurrencia

EDITADO> UPDATE>

en las estructura de la DB enfocas mucho en usuarios y perfiles y muy poco en el sistem de mensages y foro...
 



 
última edición por mckaygerhard el Sabado, 17 Junio 2017, 01:21; editado 1 vez 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes El Manual De Listin Paso A Paso En Varios ... jsbsan Aplicaciones/Fragmentos de Código 31 Domingo, 27 Noviembre 2011, 12:36 Ver último mensaje
sasogu
No hay nuevos mensajes Programa Paso A Paso: Consultas Médicas.... jsbsan Videotutoriales 1 Jueves, 12 Enero 2012, 04:22 Ver último mensaje
ivanovichenco
No hay nuevos mensajes Manual Paso A Paso: Páginas Web Realizada... jsbsan General 5 Jueves, 17 Septiembre 2015, 13:51 Ver último mensaje
tercoIDE
No hay nuevos mensajes Como Empaquetar De Tar.gz A Deb? Paso Por ... v3ctor General 3 Domingo, 25 Octobre 2015, 19:41 Ver último mensaje
razaAztk
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron