Punto de venta duda en java consejos?

Hola a todos

Pues me encuentro con un proyecto de desarrollar un punto de venta, sé java y uno que otra herramienta para generar reportes, aun estoy en Universidad, y seria como de mis primeros trabajos - no tareas, me piden un programa para llevar los registros de los movimientos y ventas, también reportes para chequeos mensuales, etc, que me aconsejan ustedes que ya estan en el mercado laboral, que herramienta usar, base de datos, consejos en particular, etc??

Gracias de antemano, espero sus respuestas

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Primero que nada que seas

Primero que nada que seas honesto con tu cliente y que sepa cuales son tus limitaciones. Segundo que te fijes muy bien en como le vas a entregar el producto, busca por aquí un post que donde ezamudio explica algunas cosas para la entrega cuando te van a pagar, cuando les vas a entregar.

Sobre la tecnología, me parece que lo más sencillo sería una aplicación web que tenga un servlet container embebido ( como Jetty ) y una base de datos chiquita como JavaDB. Debería de ser muy fácil hacer algo con esto. Así, el cliente sería el browser mismo de la máquina, y tendrías la posibilidad de hacer reportes a la base de datos por que es un RDBMS y no tienes que hacer instalaciones complejas ni nada, todo podría ser entregado en un solo jar.

Otra opción ( quizá no tan buena si vas iniciando ) es hacer un cliente en Swing, aunque es bien sabido que swing tiene una curva de aprendizaje algo empinada.

Haz una prueba de concepto ( de como funcionarían las cosas , muy sencilla ) con esto y determina si es lo que puedes hacer o no.

Suerte!

algunas dudas

@OscarRyz gracias por tus consejos, hasta ahora lo que hecho son aplicaciones con swing, pero no entiendo muy bien el punto de que sea aplicación web con Servlet container embebido, a que te refieres con eso, la verdad no he hecho una sola aplicacion web con java, que ventajas tiene que sea con eso, puedes explicarlo un poco más??

Nos vemos y gracias por responder

La única ventaja sería

La única ventaja sería precisamente que jamás hubieras hecho una aplicación swing y en cambio conocieras muy bien las aplicaciones web. Pero como no es el caso ( y claro, yo no lo sabía ) será mejor entonces que sea una aplicación Swing.

A veces es más fácil hacer una aplicación web, eso es todo.

Igual la recomendacion de que uses JavaDB sigue en pie. Si notas que necesitas mucho más poder puedes usar una base de datos libre como MySQL.

Imagen de ezamudio

Griffon

Echale un ojo a Griffon, es más bien Groovy pero para aplicaciones en Swing es mucho mejor que hacerla desde cero.

me interesa java para aplicaciones web

@OscarRyz me interesa java para aplicaciones web,para aprenderlo, me podrias decir por donde empezar a aprender para desarrollar aplicaciones web con java?

gracias de antemano

vaya se ve interesante

@ezamudio gracias por responder estoy revisando Griffon, a ver que tal

voy a tener una junta con el cliente

hola a todos pues si voy a tener una junta con el cliente que deberia hacer, sé que debo de ver que quieren , la verdad no se mucho de control de inventarios y eso, hacer un documento de requerimentos, qué debo hacer primero??

Escucho sus respuestas

Nos vemos

Imagen de beto.bateria

Hacer primero:

Saludos beckveg:

Son dos cosas principalmente que debes de hacer primero:
a) Tener una idea general de lo que va hacer el software, obviamente eso se sabe al ver como trabajan en la empresa. Este conocimiento es sin meterte a detalles, y MUY IMPORTANTE cuando estes haciendo esta investigacion solo concentrate en eso, no estes pensando en como se resuelve a nivel programacion.

b) Hacer una prueba de concepto (ya lo mencionaron arriba), es decir, un "programita" que te va a servir como base para el sistema completo, yo te aconsejo que cubra dar de alta, consulta y edicion. Deberia tener incluido el acceso a la base de datos, manejo del GUI e impresion de algun pequeño reporte y debes de considerar algunos requerimientos no funcionales al hacerlo (como se va a comunicar, va a ser multiusuario, las impresoras en donde van a estar, los usuarios que perfil van a tener, etc).

Si te decides por hacerlo para la web, te puedo decir que vas a necesitar mas conocimientos (xhtml, css, javascript), pero en internet vas a encontrar mucha informacion. Y te recomiendo mucho que pidas consejos acerca de la arquitectura, porque te va evitar muchos quebraderos de cabeza.

Otra cosa, mantenlo sencillo, no hagas cosas que el cliente no pide. ;)

gracias por tu comentario

de nuevo gracias, ya tengo una base de lo que quieren pero el proyecto no esta tan sencillo, aun así hay varias cosas que no sé pero siempre esta internet para preguntar :)