¿Por dónde empiezo con el desarrollo de una aplicación de lista de tareas colaborativa? ¿La base de datos NoSQL y Node.js son adecuados para esto?

Utilice las tecnologías con las que está más familiarizado y que se ajusten a sus requisitos. Necesitará una base de datos, un servidor, un sistema de eventos en tiempo real y clientes.

Base de datos: usa lo que mejor sabes. Usaría mysql, porque lo sé bien.

Servidor: use lo que mejor sabe y favorezca los sistemas controlados por eventos o concurrentes. Usaría go, porque lo conozco bien y hace bien la concurrencia.

Sistema de eventos: utiliza lo que mejor sabes y, para empezar, hazlo simple. Comenzaría asumiendo solo una máquina de servidor único, y pondría en marcha la lógica de propagación de eventos, porque lo sé bien. Si necesita escalar más allá de una máquina, tiene un buen problema con muchas soluciones simples (redis, 0mq, etc.).

Cliente: elija una plataforma de destino y compílela. Si el móvil es su primer mercado objetivo, cree un cliente en la plataforma que mejor conoce (iOS, Android, Windows Phone). Si la web es tu primer objetivo, elige el framework js que mejor conoces y úsalo.

Algo como eso.

Use Firebase como su back-end con HTML / JavaScript / CSS antiguo en el front-end. Fácil de armar, también puede elegir un sistema de autenticación simple a través de Firebase (Facebook, Google, correo electrónico / contraseña, etc.) y puede burlarse rápidamente de esto. Mándame un mensaje con cualquier pregunta.