Planificación Aplicación Web

ratontm

Veréis, estoy empezando un proyecto personal para hacer una aplicación web y me ha surgido la duda de ¿por dónde empiezo? Y aquí estoy.

Así que, ¿qué pasos seguís vosotros a la hora de empezar una aplicación ya sea web, escritorio, móvil?, de carácter personal, quiero decir que lo haces sin tener unas directrices marcadas, ni plazos.

Yo tengo la idea de hacerla con Node.js y MongoDB. Se trata de una web en la que hacer quedadas para hacer deporte, con recompensas, puntuación, etc.

HeXaN

Análisis, diagramas y demás. Son un coñazo, pero ayudan bastante luego.

1
B

.

2
Vaclad

Empieza por la experiencia de usuario (UX) e interacción. Hazte diagramas de como iría la navegación y uso de la aplicación e intenta simplificar todo lo que puedas para no marear al usuario.

Cuando tengas claro como sería la interacción empieza por los wireframes para poner cada cosa en su sitio. El siguiente paso sería diseñarla y luego desarrollarla.

zoeshadow

Yo siempre suelo hacer una arquitectura por capas, la primera capa que hago es el acceso a datos, intentando hacer una clase lo más general posible que se conecte a la base de datos y luego ir haciendo las clases y la manera de conseguir los objetos de esas clases de la base de datos.

Si quieres usar algún patrón como DAOs o Repository puedes hacer algo así como.

User -> Esta clase contiene los atributos, y la lógica de negocio, hay gente que usar la clase USER como un Data Transfer Object sin metodos/funciones y estas las mete en un manager.

UserRepository o UserDAO -> Esta clase se tiene que encargar de poder serializar y deserializar los objetos para almacenarlos en la BD o en cualquier sistema de almacenamiento.

DatabaseService -> Clase generica para hacer peticiones a la BD

Haciendo esta arquitectura te es muy facil ir haciendo los tests y luego vas haciendo los controladores y las vistas que usan estas clases.

1
JuAn4k4

Model - DAO - Service - Controller

Si pones funcionalidad en las clases del modelo (User) va a ser un follón eso luego para meterle mano.

Lo primero es empezar por lo básico, saber si es interesante para la gente, por lo que haces una landing page describiendo el proyecto (Si quieres) y miras a ver como responde la gente.

Despues, hacer un MVP (Minimum viable product), que es lo que tienes pensado hacer, pero en plan super básico.

Seguramente, registro de usuario y cuenta, gestion de "X" (Tu clase principal) y las pantallas para ello.

Y tendrás que mirar qué vas a usar, alguna herramienta javascript, y en cuanto a estilos. Yo si estas solo te diría que tiraras de Bootstrap y jQuery, para no perder mucho tiempo en eso.

A partir de ahi, es meter funcionalidad.

1

Usuarios habituales