Temat: Projekt studencki w Node.js
Fajnego masz prowadzącego. Można wiedzieć jak się nazywa?
Nie wiem na jakim poziomie jesteś z JS, więc ciężko mi dobrać Ci coś, co Cię nie zabije. Jeśli chodzi o najlepsze zastosowania Node'a, to zdecydowanie coś streamingowego/socketowego. Coś czego nie da się łatwo zrobić (jeśli w ogóle) w technologiach typu PHP/Railsy/itp.
Podstawowy przykład to chat. Trochę banalne i nudne, więc możesz rozwinąć np. do edytora typu google docsy - umożliwiającego równoległą pracę. Ale to nudne.
Ciekawiej się robi z websocketami (polecany, choć czasami niestabilny - socket.io, bądź
https://github.com/sockjs/sockjs-client i
https://github.com/sockjs/sockjs-node). Można pisać już coś o naprawdę dużej responsywności. Np. mógłbyś zrobić gierkę typu kalambury, gdzie na żywo widać jak ktoś coś rysuje, albo jak wcześniej - painta z multipainterem :P Pomysłów więcej możesz poszukać tam gdzie Kamil wskazał.
Kilka rad i wskazówek na początek:
* jQuery oczywiście w Nodzie się nie przyda :P
* może Cię zabić z początku asynchroniczność wszystkiego. Polecam
https://github.com/caolan/async, bądź którąś z implementacji promise'ów - prowadziłem ostatnio w tym temacie (i w ogóle client side js vs server side js) szkolenie i prezentację -
http://code42.pl/2011/10/09/moje-prezentacje-z-devmeet...
* pewnie wiesz już że jest świetny instalator pakietów do Node'a - npm.
* z pakietów polecałbym restify jeśli myślisz o jakimś REST-owym API, wspomniane wcześniej biblioteki do websocketów, jeśli myślisz o trochę zwyklejszej webaplikacji, to może jakiś express. Do radzenia sobie z asynchronicznością async, bądź (ja lubię, ale jest magiczny) deferred (by Medikoo).
* do single page appów (skoro korzystasz z jQuery) możesz obczaić
http://documentcloud.github.com/backbone/ bądź Spine.js
itd, itd.
Jeszcze jakiś link, który akurat mam otwarty w zakładce -
http://nodetuts.com/
Ale materiałów jest oczywiście całe mnóstwo. Chociaż widziałem też na jakimś nettutsie takie tragiczne, że... no trzeba uważać.
Powodzenia. Daj znać co Ci wyszło :)