Eine Erfahrung, die ich dir ersparen möchte:
Wenn du ein Projekt mit anderen zusammen machst, ist das Hauptproblem, die Leute motiviert zu halten. Motiviert werden Leute durch:
- Ihre eigenen Ideen werden umgesetzt
- Das Projekt verspricht eine gewisse Verbreitung
- Geldgeldgeldgeldgeld
Dein Projekt kann dies nicht, und es steht auch nicht in Aussicht, dass es das wird. Falls du wirklich programmieren lernen willst und das nicht an einer Lernanstalt beliebiger Art tust, dann solltest du dir einen Customer besorgen; sprich eine Person, welche euch Anforderungen nennt und regelmäßig Ergebnisse verlangt. Als Anfänger bietet sich übrigens an, jemanden zu suchen, der Erfahrung mit IT-Projektmanagement hat und deinen/euren Prozess begleitet, übliche Fehler verhindert etc.
Wie bereits angemerkt, ist C# als Sprache für deine Idee auch sehr ungeeignet. Das hat zwei Gründe:
1) C# kostet Geld, und zwar nicht zu knapp. Ohne gültige Visual Studio Lizenz darfst du aber nicht entwickeln, das heißt, im Zweifelsfall gehört dein Programm nachher nicht dir. Außerdem könntest du Probleme haben, Mitentwickler zu finden.
2) C# ist eine klassische Hochsprache. Für Webanwendungen sind aber Skriptsprachen wesentlich geeigneter.
Falls du also eine Webanwendung unter .NET entwickeln willst, musst du dich mit ASP auseinandersetzen. Microsoft hat auch eine Element-Basierte Entwicklungsumgebung für Webanwendungen in Visual Studio integriert (Verfügbar ab Professional-Lizenz, glaube ich). Das wäre für eine Webanwendung unter .NET der Way to go.
Falls du einfach so Webanwendungen entwickeln willst, solltest du dir Ruby, PHP oder eine andere der gängigen Skriptsprachen antun. Webentwicklung mit Hochsprachen macht einfach keinen Sinn.
Falls du "programmieren lernen" willst, in der naiven Bedeutung, die Anfänger damit oft verbinden, dann meinst du vermutlich, dass du lernen willst, mit Hochsprachen umzugehen. Hochsprachen nennt man "echte" Programmiersprachen, welche einen sehr hohen Abstraktionsgrad mitbringen, wie z.B. C#. Aufgrund der finanziellen Aspekte ist C# da aber nicht wirklich die Einsteigerlösung, C++ und Java sind die verbreiteten Alternativen, an die du auch kostenlos drankommst.
Java hat für Einsteiger den Vorteil, dass man einfach was installiert (Eclipse oder Netbeans) und losprogrammieren kann, während man bei C++ wesentlich mehr Intelligenz reinstecken muss - man muss einen Compiler finden und in seine Entwicklungsumgebung einbinden, was deutlich kniffliger ist, als viele tun. C++ hat den Vorteil, dass die Syntax deutlich einsteigerfreundlicher ist. Java ist (übrigens ähnlich wie C#) sehr konsequent in seiner Objektorientiertheit, was Anfänger oft verwirrt.
Java oder C++ ist übrigens eine Entscheidung für's Leben. Ich habe noch nie jemanden getroffen, der wirklich programmieren kann (und nicht das, was die Webkidz mit Physikstudium so unter programmieren verstehen) und beides gerne benutzt ^^ Ich bevorzuge Java, 1) weil es konsequenter objektorientiert ist, 2) weil es eine ungeschlagen gute Dokumentation gibt
So, noch mehr Erschlagung: Was du vorhast, geht ja über Programmierung hinaus richtung IT-Projektmanagement. Da wirst du dich mit zusätzlichen Themen wie Versionskontrolle (z.B. git, subversion), IT-Architektur, Dokumentationsstandards etc. auseinandersetzen müssen. Da ich das beruflich mache, kann ich dir sagen: Ein guter Projektleiter verbringt die Hälfte seiner Arbeitszeit mit Projektleitung. Ein schlechter deutlich mehr.
Du kannst dich, wenn du es völlig übertreiben willst, auch mit agiler Softwareentwicklung beschäftigen; das hilft dir dabei, die Projektleitungsaufwände nach einer gewissen Startzeit deutlich zu minimieren. Das erkläre ich aber jetzt nicht im Detail - das füllt Bücher