Comenzaré preguntándome por qué quieres comenzar un proyecto así.
¿Esperas aprender algo de eso? Si es así, ¿cuál es la parte que más le interesa? ¿Interfaz? almacenamiento de fondo? distribución eficiente? ¿seguridad? ¿Un poco de todo?
¿Estás dispuesto a mejorar las alternativas existentes? ¿En qué manera? ¿Mejor usabilidad? ¿más seguro? ¿más conveniente? más barato? ¿Más rápido? más grande? más gracioso?
- ¿Qué impacto cree que tendrá Amazon Cloud Drive en servicios como Shazam?
- ¿Hay alguna forma de prepago durante largos períodos de alojamiento en la nube de Apple, Google, etc.?
- ¿Cuál es la mejor nube para escalar postgresql?
- ¿Es posible que Unity Video Player reproduzca un video almacenado en Google Drive, Dropbox o cualquier otro servicio de almacenamiento en la nube, sin usar un activo pago?
- ¿Qué son todas las plataformas de gestión y plataforma PaaS (plataforma como servicio) basadas en la nube?
Identificar estos aspectos lo ayudará a concentrarse en lo que necesita aprender. Además, este sería un esfuerzo muy complejo y no está claro para mí que una persona pueda hacerlo correctamente (es decir, sin simplificar demasiado) solo, por lo que centrarse en una parte hace que sea más probable que logre algo.
Por lo tanto, puede considerar mejor otras alternativas, como comenzar desde un marco existente y agregar lo que falta. O unirse a un proyecto de código abierto existente y contribuir. Un efecto secundario interesante de esto es que se expondrá al código de otras personas y, por lo tanto, podrá aprender de ellos (y también recibir comentarios sobre el suyo).