Templates y Temas para ExtJS y Sencha Touch Bleext!
Bleextop! un desktop OpenSource para Ext4 y CodeIgniter http://bit.ly/pUwLJO
Sistema Contable - OpenSource
  • Vote Up1Vote Down CrysfelCrysfel January 2011
    Posts: 897
    Hola foreros, buen día!

    Pues el proyecto del sistema contable parece haber ganado la encuesta y por mucho! ahora bien aquí quiero definir el alcance para la primera versión y las herramientas a usar, opino que usemos las herramientas que la mayoría dominemos, aunque sería interesante probar con cosas nuevas también.

    Alcance
    Un sistema contable involucra muchas cosas, sería bueno conseguir a algún contador de experiencia para algunos temas complejos de contabilidad, por el momento pienso que sería suficiente hacer un sistema que te permita generar facturas, esto involucra hacer un catalogo de clientes con toda la información necesaria, generación de facturas, exportar las facturas a PDF o algún otro formato, envío de facturas a clientes vía correo electrónico o algún otro medio, sería bueno integrar paypal para el cobro de las facturas, también un módulo de "Diseño" de factura donde el usuario pueda personalizar sus facturas con su logotipo y quizás acomodar las regiones de la factura en distintos lugares.

    Igualmente necesitaremos un sistema de usuarios y roles que pueda ser administrable por un super usuario.

    Herramientas a usar
    En el cliente:
    ExtJS (tengo que mencionarlo?)

    Para el servidor:
    PHP?
    Java?
    .NET (C#)?
    Node.JS?

    Base de datos:
    MySQL?
    CouchDB?

    Creo que la mayoría domina PHP, pero para serles sincero me gustaría utilizar Node.JS, he estado haciendo algunas cosas los últimos meses y creo que es el futuro de las aplicaciones web, claro que tendremos varias complicaciones pero creo que podemos aprender mucho y sobre todo me gusta la idea de utilizar JavaScript en todo el proyecto (servidor y cliente), quiero escuchar sus opiniones y sugerencias en cuanto a las herramientas y también al alcance.

    Saludos
  • 45 Answers sorted by
  • Vote Up1Vote Down yyeshuayyeshua January 2011
    Posts: 57
    Bueno, ¿Porqué no hacer una encuesta respecto a eso?.

    Propongamos Frameworks y votemos. Yo sugiero un formato [Lenguaje] - [Framework], por ejemplo (y propuestas de paso):

    PHP - Symfony2
    PHP - CodeIgniter
    Python - Web2py
    Python - Django

    ¿Qué os parece la idea?. Así el proyecto avanza y se van solidificando las bases.

    Saludos.
  • Vote Up0Vote Down tokkaidotokkaido January 2011
    Posts: 395
    a mi me parece perfecto, la mejor manera de aprender es plantearse un proyecto con herramientas que deseas dominar porque te permitirá enfocarte a resolver problemas puntuales.
  • Vote Up0Vote Down pasblinpasblin January 2011
    Posts: 182
    lo de usar node.js me parece la leche , apoyo la moción ;)
  • Vote Up0Vote Down lgonzaleslgonzales January 2011
    Posts: 127
    Hola, usar node.js suena interesante, lastima que no se mucho (por no decir nada) de node.js, haber si alguien sabe unos tutos donde pueda empezar, claro si es que se opta por este. Como dije anteriormente no tengo problemas por las herramientas pues aprendo muy rapido xD.

    Por cierto en que servidor haremos las pruebas en tiempo real?

    Ya estoy ansioso por empezar.
  • Vote Up0Vote Down antonyeteantonyete January 2011
    Posts: 5
    Yo estoy haciendo un programilla de facturación y contabilidad con ExtJS y programo en Django. Mi opción es Java, PHP o Python; si empezamos con nuevas tecnologías como Node.JS tardaremos más en aprender que en empezar a desarrollar.

    Saludos.
  • Vote Up0Vote Down pasblinpasblin January 2011
    Posts: 182
    Lgonzales en esta web tienes unos screencast muy buenos para ir conociendo el tema de node.js;) http://nodetuts.com/
  • Vote Up0Vote Down CrysfelCrysfel January 2011
    Posts: 897
    Excelente Blog @pasblin, también pueden revisar este otro:

    http://howtonode.org/

    Muy bueno!!
  • Vote Up0Vote Down lgonzaleslgonzales January 2011
    Posts: 127
    WoW muy buenas las paginas gracias,pero me uno a Antonyete, mejor trabajemos con lo que ya conocemos y asi comenzamos y tenemos un proyecto hecho, tambien he estado viendo que no hay algo definitivo para conectar con MySQL con Node.js :S o es que no he encontrado algo concreto, recordemos que sera un sistema contable y este tipo de sistemas es mas trabajoso y sobre todo tiene que ser confiable, imaginen hacerlo con un lenguaje que no dominamos (WoW cuantos bug vamos a tener) y hasta posiblemente se caiga. La informacion en un sistema contable es critico, bueno a mi parecer creo que deberiamos optar por usar algo mas maduro como PHP o PERL o JAVA (este ultimo no lo domino mucho), y base de datos MySQL, entonces mi propuesta seria:

    ExtJS
    PHP => Framework CI
    MySQL

    NOTA: CodeIgniter, solo porque es con el que estoy trabajando actualmente y me ha gustado la facilidad con la cual se trabaja, pero puedo usar el que la comunidad decida usar, claro siempre y cuando sea PHP xD.
  • Vote Up0Vote Down yyeshuayyeshua January 2011
    Posts: 57
    Yo también creo que es mejor avanzar con algo que ya se conoce. Sólo que yo sugeriría mantener la compatibilidad más allá de MySQL, para que también pueda ir con PostgreSQL.

    En cuanto al lenguaje, PHP + un framework, el cual yo sugeriría Symfony2 que está por ser liberado y sería buena alternativa para aplicar algo que ya se conoce (PHP) y aprender algo nuevo (Symfony2).

    Saludos.
  • Vote Up0Vote Down CrysfelCrysfel January 2011
    Posts: 897
    En eso tienes razón, Node.js todavía no esta muy maduro y eso le suma más riesgos al proyecto y también más errores y bugs que saldrán, pero lo que si veo es que no tenemos presión de tiempos ni tampoco con algún cliente o semejante, estamos haciendo este proyecto para aprender y pasarla bien, yo no tengo problema en utilizar PHP con CI, pero la verdad me aburriría un poco jejejejeje, es decir, no me emociona programar en PHP como me emociona programar con Node.js.

    Por lo que dices de integrar Node.js con MySQL creo que no usaríamos MySQL en primer lugar, ya que Node.JS propone otras cosas, otras bases de datos que se integran excelente con Node, es el caso de CouchDB o MongoDB (entre otras) yo preferiría usar una base de datos de tipo "noSQL", una tendencia que esta creciendo entre los desarrolladores y que es un "trend" para este 2011! Google, Facebook y Twitter ya han hecho implementaciones de bases de datos noSQL ya que suponen mejor desempeño y vaya que facebook tiene mucho tráfico, dejo algunos links a bases de datos interesantes.

    http://cassandra.apache.org/ (usada por facebook)
    http://hbase.apache.org/ (usada por Twitter, Adobe, Stumbleupon, etc...)
    http://couchdb.apache.org/ (CouchDB)
    http://www.mongodb.org/ (MongoDB)

    Bueno, espero sus comentarios.

    Saludos
  • Vote Up0Vote Down lgonzaleslgonzales January 2011
    Posts: 127
    mongodb se ve interesante, al igual que couchdb y cassandra y bueno Crysfel tienes razon la idea es hacer un sistema para aprender y pasarla bien, no estamos haciendo un sistema para venta y mucho menos a pedido de un cliente, estamos haciendo esto para pasarla bien y sobre todo para aprender mas y mas y mas xD.
    Cambio mi propuesta:
    ExtJs
    node.js(aunque no se nada de este, pero justamente se trata de aprender para eso es el proyecto, para aprender)
    cassandra ( me declino por este debido a que ya lo usa FB y con el trafico que se maneja debe de estar muy bueno, aunque siendo sinceros me gusto mas mongodb hasta donde he podido leer)

    Pero sigue mi pregunta:
    Enq ue servidor haremos las pruebas si es que se usan estas nuevas, no creo que existan servidores ya con estas tecnologias implementadas o si?
  • Vote Up0Vote Down CrysfelCrysfel January 2011
    Posts: 897
    @lgonzales me acabo de registrar en https://no.de/ estoy esperando mi cupón para poder montar un servidor Node.js, como sea también estoy pensado comprar un VPS para un proyecto que traigo y ahí podría poner un Node.JS para probar.

    Por otro lado, el servidor de versiones a utilizar sería Git, podemos alojarlo en GitHub que la verdad esta muy fácil de usar y esta muy bien para desarrollar de manera colaborativa.

    Saludos
  • Vote Up0Vote Down lgonzaleslgonzales January 2011
    Posts: 127
    Crysfel puedes mandarme por mp tu skype o msn o usuario de pidgin que uses para poder agregarte.
    Gracias.
    Por favor elimina este mensaje se envio repetido.
  • Vote Up0Vote Down pasblinpasblin January 2011
    Posts: 182
    Node.js y noSQL son nuevas tecnologias para mi y eso hace(como dice crysfel) que la cosa sea mucho mas entretenida.
    Si vamos a usar git hay un programa para mac muy bueno http://www.git-tower.com/ y un screencast aqui http://net.tutsplus.com/tutorials/other/quick-tip-first-look-at-the-git-tower-gui/ es la leche ;).
    Resumiendo de nuevo apoyo la moción de usar Extjs+ node.js + noSql.
  • Vote Up0Vote Down antonyeteantonyete January 2011
    Posts: 5
    También es verdad, aprendamos Node.JS !!!
  • Vote Up0Vote Down yyeshuayyeshua January 2011
    Posts: 57
    Interesante.

    Node.js suena a locura XD Así llama más la atención, jejeje. Sois buenos para convencer a la gente.
    En cuanto a Base de datos noSQL yo inclinaría mi sugerencia a mongodb
    Aunque cualquiera que se escoga estaría bien
  • Vote Up0Vote Down Hades616Hades616 January 2011
    Posts: 35
    mi voto fue por el sistema contable, y me gustaria tambien aprender Node.JS aunque lo que domino es PHP pero honestamente quisiera entrar en el mundo de Node.JS ya que los comentarios en la web son buenos. BD: postgres! ;-)
    Saludos
  • Vote Up0Vote Down antonyeteantonyete January 2011
    Posts: 5
    BD generica, un framework que las soporte a todas. Qué os parece un ORM y no hay que picar SQL? (si es que hay en Node.JS)
  • Vote Up0Vote Down CrysfelCrysfel January 2011
    Posts: 897
    Excelente!! una vez que todos estamos de acuerdo pues iniciamos!! la verdad es que yo tampoco se mucho sobre Node.js, pero si estoy interesadisimo en aprender y lo que me he dado cuenta en estos meses que llevo jugando con el es que haber usado JavaScript por ya vario tiempo y tener los conceptos bien afianzados se me hace fácil :)

    Estoy seguro que a la mayoría se nos hará sencillo, quizás al inicio se complique un poco cambiar la mentalidad de como funciona pero luego se facilita mucho, conforme vayamos avanzando voy a ir escribiendo tutoriales para beneficio de todos, también sería bueno que ustedes hicieran lo mismo con los módulos que les toque desarrollar.

    Bueno entonces quedamos con las siguientes herramientas:

    Cliente:
    ExtJS

    Server:
    Node.js (y todos los módulos que se necesiten)

    DB
    MongoDB

    Servidor de versiones
    GIT (usando el servicio de GitHub)

    Lo siguiente es realizar el análisis, algunos prototipos (en papel), definir los módulos que tendremos, diagramas y documentación necesaria. En mi post inicial sugerí un primer Alcance, no se si todos estamos de acuerdo con eso? o le agregamos quitamos cosas?

    Saludos
  • Vote Up0Vote Down pasblinpasblin January 2011
    Posts: 182
    La version de extjs que vamos a ausar va a ser la tres o la 4?
  • Vote Up0Vote Down CrysfelCrysfel January 2011
    Posts: 897
    buena pregunta, yo creo que la 4 sería excelente!
  • Vote Up0Vote Down pasblinpasblin January 2011
    Posts: 182
    perfecto!!!! asi podemos usar el patron mvc que trae la version 4 y de paso nos sirve para sencha touch (que tambien lo usa ;) ),se me hace larga la espera para empezar ;)
  • Vote Up0Vote Down lgonzaleslgonzales January 2011
    Posts: 127
    Lo que me faltaba aun no termino de aprender la 3 y vamos a usar la 4 :S,
    jejeje voy a aprender mas rapido que apurado, cuando comenzamos? xD
  • Vote Up0Vote Down cesarcarrazanacesarcarrazana January 2011
    Posts: 11
    Yendo al sistema en si, quizás no haya leído o me haya perdido de algo respecto a los alcances e idea del sistema pero creo que "Sistema Contable" es un termino muy amplio, hay que ponerse de acuerdo que conceptos manejar, particularmente cuando hablo de sistema contable se me viene a la cabeza asientos, comprobantes, etc. Plantear la dirección que se le quiere dar al sistema, por ejemplo llevar la contabilidad de que? seria una buena manera de empezar. Yo por mi parte estoy armando una narrativa respecto al tema, en cuento la termine la subo y decidimos.

    Saludos y acompaño la tecnología escogida.
  • Vote Up0Vote Down CrysfelCrysfel January 2011
    Posts: 897
    @cesarcarrazana tiene razón, un sistema contable es muy muy muy amplio, es por eso que en el primer post definí el alcance, algo sencillo para iniciar y luego ir agregandole más y más módulos conforme vayamos creciendo.

    Antes de dar el kick-off, debemos estar todos en el mismo canal o sintonía con los términos y tener claro que vamos a hacer, de lo contrario solo comenzaremos a tirar código a lo loco sin razón alguna.

    Saludos
  • Vote Up0Vote Down tokkaidotokkaido January 2011
    Posts: 395
    Hace poco estuve tratando de explicarle al gerente de la Empresa donde trabajo los procesos de desarrollo de software y encontré que existen unos estudios quizás algo antiguos pero aun hoy en día validos, que imagino más de alguno de ustedes habrá visto ya: uno llamado Informe GAO de la Government Account Office y el informe Chaos del grupo Standish. En el primero de los informes muestra que tan solo un 5% de los desarrollos se llega a utilizar, con un 47 % que nunca es usado y otro 29% que nunca es entregado, en fin, eso me llevo a buscar que parámetros hacían fracasar el desarrollo de software y cuales por el contrario eran las características de los que llegaban a buen puerto. En los factores de fracaso encontré:

    * Falta de definición clara y concisa de procesos.
    * Poca rigurosidad en la recolección y definición de los datos involucrados en el desarrollo.
    * No definir los requisitos y objetivos, detalladamente, del sistema.
    * Falta de involucramiento de las partes interesadas tanto en el desarrollo como en la posterior puesta en marcha.

    pero más importante, desde mi punto de vista, los factores de exito:

    * Análisis de requerimientos.
    * Diseño estructural.
    * Definición de procesos.
    * Contemplar contingencias.
    * Protocolos de Documentación.

    y en este ultimo paso permitanme poner mucho énfasis, aunque todos queremos ver sistemas corriendo con sus ventanitas lo antes posibles es importantisimo la documentación detallada de los procesos.

  • Vote Up0Vote Down luis2103luis2103 January 2011
    Posts: 6
    @tokkaido tienes razon, apoyo tu punto de vista, es justamente en la fese inicial de un proyecto donde se debe responder a preguntas cruciales como Que hacer? Como? Para que? y Cuando?.
    Y la verdad estoy tambien muy interesado en participar en el poryecto y me gusta mucho la idea de que todo participemos y aprendamos algo nuevo como lo que propone Crysfel, creo que es un buen momento para aprender entre todos...

    Me apunto y espero que comencemos pronto..
    Saludos.....
  • Vote Up0Vote Down yyeshuayyeshua January 2011
    Posts: 57
    Esto lleva buen camino. Quisiera agregar cosas a usar si el servidor correrá con node.js, ¡Un framework!

    Una búsqueda rápida en google me devuelve dos alternativas: http://expressjs.com/ y http://geddyjs.org/

    Creo que una de estas debería estudiarse y ver cual se adapta a nuestras necesidades (Aunque también creo que habrá quien quiera construir un framework XD).

    Bueno, ¿Qué opináis?. La verdad es que sólo he dado un vistazo rápido a las web de estos proyectos, no sé ni que licencia tienen, pero seguro alguien lo lee y ya comenzamos a avanzar en eso, que estoy en el trabajo y no puedo leer mucho en estos momentos :P

    Saludos.
  • Vote Up0Vote Down CrysfelCrysfel January 2011
    Posts: 897
    Hola foreros, buen día.

    Quiero comentarle que por razones fuera de mi control no puedo seguir adelante con esta iniciativa, desde este momento quedo fuera de todo esto y me deslindo de toda responsabilidad, lamento mucho no poder seguir adelante y espero puedan comprender.

    Pero lo que si puedo es retomar algún otro proyecto que se propuso en la encuesta, de hecho hace un par de días subí un proyecto a GitHub que me gustaría retomar y si ustedes lo desean también pueden involucrarse, es un proyecto hecho con Sencha Touch, lo pueden ver ejecutandose en la siguiente url (Usando Google Chrome o Safari):

    http://demos.crysfel.com/Memorama/

    https://github.com/crysfel/Memorama

    El proyecto esta inconcluso ya que me gustaría agregarle la funcionalidad de multijugador en tiempo real, agregarle un módulo de "Records" donde se puedan ver los jugadores que en menos tiempo han logrado terminar el juego y algunas otras ideas que tengo.

    Este juego en verdad esta sencillo, pero si que nos permitiría dejar las bases para algún otro más complejo, además de que estariamos desarrollando para dispositivos móviles, algo que veo con muchas oportunidades.

    Si alguien se anima me avisa.

    Saludos
  • Vote Up0Vote Down tokkaidotokkaido January 2011
    Posts: 395
    imagino que tu retirada del proyecto tiene que ver con que la empresa donde trabajas hará un proyecto similar y eso provoca conflicto de intereses, si es así es entendible. Pues aprovechando las ganas que tenemos todos de aprender y cooperarnos mutuamente propongo un pequeño giro a esta historia. En el tiempo que llevo desarrollando la aplicación en la que estoy involucrado cai en cuenta que los procesos de desarrollo de la gran mayoria de los modulos son casi iguales, por lo que fui adaptando mi manera de programar para que un mismo modulo me sirviera al maximo solo traspasandole algunos parametros nuevos, despues como deseo que otros desarrolladores que contrate la empresa (y me ponga a mi como su jefe :-D ) puedan desarrollar sin muchas complicaciones usando el mismo sistema que he desarrollado (algo como el extDesigner pero que ademas crea las reglas de negocios, las tablas, etc) se me ocurre que podríamos cambiar el objetivo del proyecto y en vez de realizar algún software típico de empresa realicemos un programa que nos sirva de herramienta para reducir en la medida de lo posible el tiempo que nos toma desarrollar una aplicacion. ¿que les parece? :/

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook Sign In with Twitter

Sign In Apply for Membership

In this Discussion

Poll

No poll attached to this discussion.

Tagged