Coder Social home page Coder Social logo

nodenica-website's People

Contributors

amosrivera avatar christopher-ramirez avatar neydroid avatar paulomcnally avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

nodenica-website's Issues

Backup de base de datos

Increíble que NodeNica ya tiene 2 anios de existir y aun no hay un sistema de backup de la base de datos.

@jarbitlira no queres hacer lo mismo que hiciste para @Informante? pero para NodeNica? :) Por favorcito. 💯

Comunidad Javascript Nicaragua

Copy/Paste a lo que envie por correo a @nodenica/owners

creo que deberiamos de cambiar el nombre a 'JavaScript Nicaragua' se preguntaran el ¿por que? Basicamente por que tenemos mas alcance de tecnologias como angular, ember, react, Johnny Five y un largo etcetera del mismo modo poder organizar diferentes meetup como beer.js, pie.js, coffee.js, nodebots, ¿Nacatamal.js? y por que no un js conf (ya hablaba con paulo sobre esto).

Creo que deberiamos de tomar como ejemplo otras comunidades como Guatemala, El Salvador o Colombia que en ves de tener comunidades puntuales, optan por algo generico para optimizar recursos y esfuerzos. Pero bueno esto es solo una pequeña sugerencia.

No digo que nodenica muera, pero si tener una comunidad que englobe las demás, hasta el momento solo somos nosotros ¿no?, no veo por algún lado Angular, Ember, React, entre otras.

Actualizacion

  • Comprar Dominio
  • Crear comunidad en Github
  • Forma de comunicacion (Slack, Lista de correos, Wiki, Github Issues) ==> Slack 01/Ene/16
  • Renombrar comunidad ==> Javascript Nicaragua 01/Ene/16
  • Montar sitio estatico (Hexo, Punch, DocPad, Assemble) js.ni - Hexo 02/Ene/16
  • Lanzar sitio
  • Diseñar logotipos y swag
  • Código de conducta ==> Código 31/Ene/16
  • Crear cuentas en redes sociales (NicaraguaJS)
  • Lanzamiento de la comunidad

Salt Implementación

exports.passwordHash = function( password ){ var passwordHash = crypto.createHash('md5').update( password + '_' + config.salt ).digest('hex'); return passwordHash;}

Estan usando una mala implementacion de salt, ya que se esta ejecuntando el mismo salt para multiples hash. Por ejemplo si se usa la mismas salt sobre cada hash y dos usuarios poseen las mismas passwords entonces ellos tienen las mismas hash, tomando esto en cuenta un ataque de diccionario sobre las hash sera fácil de romper y obtener

siguiendo el principio de Kerckhoffs's un atacante no atacara a la hash pero si usualmente tiene acceso al código fuente, entonces puede obtener el password-hash y no seria difícil aplicar algo de ingeniería inversa a el algoritmo

la forma correcta de como hacer la hash es que cada password sea generada mediante CSPRNG ( Cryptographically Secure Pseudo-Random Number Generator ) básicamente el salt debería ser UNICO para password de usuario, cada ves que un usuario cambie la contraseña deberá de ser hashed usando una función random.

NUNCA PERO NUNCA REHÚSES UNA SALT

Todo-List Nodenica v2.0

Creo que para poder lanzar NodeNica 2.0 seria bueno crear una lista de cosas por hacer con sus respectivas issues, asi se hace mas facil el trabajo de la comunidad y no todo recae en una sola persona 😄

  • Crear lista de tareas. #21
  • Captcha en registro de usuario. #19
  • Crear lista negra de correos temporales #16
  • Crear feed para RSS #15
  • Manejo correcto de la hora/fecha de los artículos #11
  • Salt Implementación #8
  • Auto-Publicación en redes sociales #24

Crear lista negra de correos temporales

Quizás la lista negra no sea la mejor opción pero por ahora esto solucionaría el bug de gente que desee meter spam.

Esto se podría solucionar mas fácilmente en la rama develop del api, pero creo que seria bueno un commit para mientras sale esa versión a producción.

Broken Link

Revisando el sitio hacia tiempo me he encontrado con una dirección rota

http://www.nodenica.com/user/your_user_name/settings

Entrando a este enlace esperaba alguna configuración (valga la redundancia) donde pudiera cambiar mi usrname, mi password, mi mail, etc. Si bien no es la gran cosa esta direccion, es de vital importancia que si estas secciones no estan por el momento desarrolladas o disponibles para los usuarios comunes lo mejor es que esten desabilitadas o redireccionen a otro punto del sitio para asi evitar los errores y darle una mejor presentacion al sitio 😄 por que si no ¿que sentido tiene que esten ahi si no las voy a ocupar?

captura de pantalla - 280814 - 15 06 33

Cambiar CNAME

  • Duplicar entorno en Heroku nuevo
  • Cambiar CNAME del dominio nodenica.com

El dyno actual se está deteniendo con frecuencia, supongo que es un dyno viejo en heroku.

TypeError: Cannot read property 'password' of null

TypeError: Cannot read property 'password' of null
at Promise. (/app/models/users.js:91:21)
at Promise. (/app/node_modules/mongoose/node_modules/mpromise/lib/promise.js:171:8)
at emitOne (events.js:77:13)
at Promise.emit (events.js:169:7)
at Promise.emit (/app/node_modules/mongoose/node_modules/mpromise/lib/promise.js:88:38)
at Promise.fulfill (/app/node_modules/mongoose/node_modules/mpromise/lib/promise.js:101:20)
at Immediate.cb (/app/node_modules/mongoose/lib/query.js:1138:30)
at Immediate._onImmediate (/app/node_modules/mongoose/node_modules/mquery/lib/utils.js:126:16)
at processImmediate as _immediateCallback

Guía para ejecutar la aplicación localmente

No he podido arrancar exitosamente la aplicación. Luego de clonarla, he definido las variables que creo son necesarias. Hice:

    # Definir las variables de entorno utilizadas por nodenica
    export MONGODB_HOST="172.17.0.1"
    export MONGODB_DATABASE="nodenica"
    export SECRET="FSSSvgdgdfg"
    export KEY="FSSfsfsdfS"
    export SALT="FSSfsfsdfS"

    # ejecutar nodenica
    nodejs web.js

Me ejecuta la aplicación dándome algunas advertencias que creo podría hacer caso amiso:

{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
info - socket.io started
express-session deprecated undefined resave option; provide resave option web.js:56:9
express-session deprecated undefined saveUninitialized option; provide saveUninitialized option web.js:56:

Luego, cuando intento navegar a localhost:5000 el explorador se queda colgado esperando por una respuesta de la aplicación. Quisiera que me dieran una guía de cómo qué debo hacer para ejecutar esta aplicación.

Saludos chicos!

Auto-Publicación en redes sociales en redes sociales

La propuesta es publicar automáticamente en redes sociales cuando se publique un articulo en blogs y en entrenamientos.

Mínimo:

  • Facebook
  • Twitter

Es requerido obtener un accessToken para cada red social.

@neydroid quizas podes crear las apps en ambas redes sociales para obtener un accessToken de aplicación y no tener que estar solicitando un accessToken como usuario que usa la app si no como owner.

Headers from, reply-to de los correos

A. Aca estamos usando el correo y la información que hay en el config.

B. Aca usamos lo que se guardó en la base de datos cuando se instala el NC (node-community).

Lo importante de esto es decidir cuál de las dos maneras vamos a usar para otros tipos de información, A,B o un híbrido C.

Si decidimos usar el correo que se guarda en MongoDB, entonces por qué no dejar en MongoDB también otras cosas que estan en config como el lang o los api keys.

Yo prefiero que todo venga del config. Y si realmente queremos que algo venda de la base de datos, podemos crear el objeto en el cofig para que no cambie el código en otros lugares, al estilo:

models.settings.findOne({key: 'site' }, 'value', function(err, obj){
    email:{
        alert: {
            sender: obj.value.title + ' <info@' + obj.value.domain + '>'
        }
    }
});

Como nota final, algunos detalles pequeños van a cambiar para usar el API de Mandrill en vez de Mailgun.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.