Sistema Contable - OpenSource
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
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 ;)
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.
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
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?
@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
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.
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.
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.
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.
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.
Lgonzales en esta web tienes unos screencast muy buenos para ir conociendo el tema de node.js;) http://nodetuts.com/
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.
Hola: soy nuevo por aqui, esta leyendo por ahi que necesitaban la colaboracion de un Conrtador, yo puedo darles una mano. Tengo como 13 años de experiencia. favor contactarse a cedeim@gmail.com
Quizas llego un poco tarde, pero podria ser Java e Ibatis, bueno ahora si es en PHP me sumo y me comprometo a aprender...
Hola estoy interesado en participar en el proyecto pero quisiera saber que ha pasado con este hilo un mes después. ¿Me podrían poner al tanto?
ola me gustaria estar en el proyecto yo actualmente estoy en java con spring +extjs podria aportar en algo para la comunidad
Claro, suena muy bien eso de abrir una categoría para los proyectos, por otro lado no se que nombre ponerle a la propuesta de tokkaido jejejeje
Saludos
Sobre lo de ocupar PHP o node.js creo que lo primero es definir cual es el objetivo de realizar un programa en conjunto, si la idea es aprender entonces un lenguaje o herramientas nuevas son las ideales porque entre todos saldremos ganando con la experiencia. Si el objetivo es hacer mas sólidos los conocimientos que ya tenemos, que tampoco es malo, entonces hay que trabajar con lo que ya conocemos, una encuesta sobre este punto seria recomendable.
Bueno, yo quisiera proponer algo.
Primero llegemos a un consenso sobre lo que se va a hacer. (Que me parece que ya hay, pero afiancemos).
La aplicación contable va.
La propuesta de @Tokkaido también tiene sus seguidores.
¿Alguien más tiene una propuesta que agregar?.
Segundo, listemos los interesados en cual proyecto. Crysfel podría ayudarnos a abrir en las categorías un espacio para el Soft contable y la de @Tokkaido (Que no sé como llamarlo precisamente :P ¿Herramientas personalizadas de desarrollo, algo así?) XD
Luego, que en cada proyecto se haga por una semana propuestas sobre que herramientas utilizar en el servidor, cómo había sugerido algo así:
PHP - Symfony2
PHP - CodeIgniter
Python - Web2py
Python - Django
Luego, los interesados en ese X proyecto votan por sus propuestas y siguen adelante.
¿Qué tal así, he?
Saludos.
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.
Algo por el estilo :-" , como sea me agrada la propuesta que hiciste de hacer una herramientas que nos ayude a agilizar el desarrollo de nuestras aplicaciones, podriamos pensar en hacer un generador de código para el backend y front-end, me apunto para este proyecto!! alguien más se apunta? suena muy interesante y el proyecto sería genérico para poder utilizarse en cualquier otra aplicación.
Saludos
Bueno amigos creo que mas que nada deberiamos de poner una Balanza entre PHP y node.js, es decir ventajas y desventajas, dice el dicho que mas bale viejo por conocido que diablo por conocer, hay que ver si ya hay tutos bien documentados sobre node.js,(hasta donde se aun no hay buena documentacion), quien lo domina quien no, por que cuando estemos montados todos en el proyecto, nos podriamos hacer bolas, ya que unos saben mas y otros no del node.js, creo que la mayor parte domina PHP, y por ejemplo si se va a meter lo de la facturacion electronica ya hay codigo en PHP , en fin hay que hacer una balanza y en base a ellos arrancar, saludos.
Muy de acuerdo @lgonzales y la verdad seria interesante que no dejemos que muera este proyecto... y demos continuidad y tambien creo que se debe utilizar php en lugar de Node.js. para estar todos a mano.
jejeje
Saludos y espero que esto continue....
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.
Bueno entonces quienes se animan a continuar con el proyecto?
de paso que asi vamos organizandonos y saber quienes vamos a estar y asi conocernos mejor.
Totalmente de acuerdo con Yyeshua, el proyecto del sistema contable gano por muchos votos y siendo tantos podriamos seguir adelante con el proyecto, claro si todos los involucrados que quedamos aun desean seguir, en mi parte si es que se decide continuar con el proyecto puedo habilitar un servidor para hacer el desarrollo, tal vez podamos cambiar lo de node.js y usar php debido a que la persona con mas experiencia en node.js como lo es Crysfel no puede estar con nosotros, solo es una sugerencia pero si deciden seguir con node.js no tengo problema en hacer el sevidor en mi red, dispongo de ip publica y mis propios dns por lo que no tendria problema en hacerlo.
En todo caso me comprometo totalmente a seguir el proyecto.
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? :/
Me gusta la idea de @Tokkaido
La verdad es que esto se ha encendido, recordando la encuesta, 20 Votos para el Sistema Contable, lo cual está muy bien y me gustaría que lo siguieran adelante, la verdad es que sería un desarrollo que seguiría muy de cerca. ¡Para el desarrollo de un Software 20 Personas son muchas! En particular si hablamos de los desarrolladores, así que eso debería bastar para seguir adelante con el proyecto.
Empero creo que el proyecto propuesto por @Tokkaido también es viable, y quizá hasta otro más si hay voluntad y compromiso.
Además es más fácil coordinarse en un grupo pequeño (3 - 7 personas) que entre uno grande. Somos varios los interesados y creo que hay suficiente cerebro para más de un proyecto. XD
Y como agregado, lo que aprende alguien al desarrollar en un proyecto puede compartirlo con todos y servir a más de un proyecto a la vez. Ganamos todos, jejeje.
Saludos.
@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
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.
@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.....
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.
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
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.
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
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
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
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)
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
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.