Parece interesante, hacer un tesis de esto
Empeza con el front-end
Mi opinion al respecto, es que deberias empezar por la parte de front-end. Claramente en la solucion que planteas si o si tiene que haber un backend, pero el frontend es buenisimo para prototipar funcionalidades, mostrarle a potenciales clientes/evualuadores/colegas como va encaminado tu proyecto de una manera visual (por ej: vas a poder mostrar una pagina de administracion de proveedores aunque la funcionalidad por atras no este implementada, te va a servir para mostrar lo que funcionalmente va a ser)
Por el roadmap que planteas en tu proyecto, para el front-end recomiendo utilizar algun framework en el que apuntes a diseñar la aplicacion web con separacion clara de responsabilidades, como minimo que se divida el modelo de datos (en principio fakeado) de la presentacion asi este "prototipo" te sirva como base para desarrollar la solucion completa, frameworks mas populares hoy por hoy son
Angular.js,
React, entre otros
Implementar algo que sirva de "back-end"
Mas temprano que tarde vas a necesitar
datos en tu aplicacion, aca podes pasar directo a desarrollar el backend, o algo que lo supla como para prototipar, uno que me gusta mucho a mi es
firebase, la idea con firebase es que vos usas la libreria de firebase, enlazas directo desde tu pagina al servicio de ellos y olvidas de tener que desarrollar/hostear un backend, claramente esto tiene sus limitaciones pero te puede servir para prototipar tu aplicacion con datos realmente distribuidos, y quien sabe en una de esas te sirve como solucion definitiva (todo depende del caso)
El backend
Si lo de firebase o similar no te sirve como solucion definitiva, tendrias que desarrollar un backend, lo opcion por ahi menos recomendable es usar node.js sin ningun framework (la tipica de hacerte un server rest con la libreria
http y un acceso a datos con
mongodb), en lugar de eso te conviene usar un framework como
strongloop
¿Git?
No se porque lo mencionaste, pero no creo que valga la pena que te agregues esa complejidad adicional en tu proyecto, si ya dominas git me parece que deberias usarlo para versionarlo, definitivamente, pero si no lo conoces no se si deberias agregarte esa complejidad, podrias usar alguna otra herramienta (?)
Resumen
- Hace primero el front-end con un framework como Angular.js apuntando a separar las responsabilidades (modelo vs presentacion)
- (Opcional) consegui un servicio para los datos como firebase, te va a servir para ponerle "BD" rapido
- Hace el back-end en node.js con algun framework como strongloop
- No te preocupes por git
Por supuesto, las herramientas y frameworks de los que hablaba son sugerencias, son las que estan usando en un proyecto en el que estoy y tb son las mas populares en javascript, hay mas opciones que esas, esta en vos buscarlas o no (si fuese mi proyecto, usaria esas y no me preocuparia en aprender nuevas en ese contexto)
Saludos!, espero que esta informacion te haya servido de algo