gdzie.waw.pl - kolejna edycja

2006-11-11, hack, web

Właśnie tworzę kolejne oblicze serwisu gdzie.waw.pl. Kolejna generacja. Generacja numer 3.

Serwis ten ma mi (może innym też) służyć do gromadzenia infromacji o różnych miejscach w Warszawie. Między innymi po to aby w wątkach pl.regionalna.warszawa typu gdzie w Warszawie …. można było odesłać do jakiejś skarbnicy informacji. Wiem, można odesłać do googla, ale nie o to chodzi ;-)

Moje poprzednie podejścia (wiki, oraz mapa z google) miały jedną wadę. Mianowicie wymagały dostarczania informacji przez użytkowników. Mi się nie chciało wprowadzać danych i podejrzewam, że innym też by się nie chciało. Zatem była to ślepa ścieżka ewolucji.

W tej wersji podszedłem do sprawy troche inaczej. Dane o miejscach będą dostarczane automagicznie z grupy dyskusyjnej, a dla użytkowników pozostanie ocenianie ich użyteczności. Obecnie do serwisu są dodawane wiadomości o temach, w których występują słowa “gdzie” lub “gww”. Do wiadomości przypisywane są słowa kluczowe (tagi). Użycie serwisu polega na surfowaniu po chmurach tagów. Na razie przyjąłem, że słowa te będą pobierane z tematu wiadomości. Heurystyka wydaje się być w miarę wystarczająca. Może później zrobię jakąś klasyfikację po treści.

W chwili obecnej wrzuciłem jakieś 300 wiadomości. Można po nich surfować. Nie można oceniać postów. Są błędy w danych (brak poprawnego parsowania tematów). Wersja to wczesna BETA, jak przystało na aplikacje web2.0 :-).

Pozostaje zrobić ocenianie postów, wlać jak najwięcej wiadomości z grupy. I ogłosić światu gotowość do użycia.

A teraz trochę szczegółów technicznych.

Projekt ten robię po pracy, zatem tworzenie go musi posiadać wartości poznawcze (hack value). W tym przypadku chciałem trochę poprogramować w Common Lispie i sprawdzić tezę o jego niepraktyczności w rzeczywistych zastosowaniach.

Frontend czyli to co widać przez przeglądarkę to kawałek PHP będący mordką do bazy danych. Dlaczego PHP? Bo hosting skryptów PHP jest tani i tyle. Docelowo chciałbym wszystko zrobić w Lispie, jak tylko znajdę hosting.

Backend, czyli to co dostarcza danych jest napisany w Lispie. Znalazłem stosowne bilblioteki które pomogły mi sprawnie zrobić parsowanie i wysyłanie do frontendu wiadomości. Wszystko poszło nadpodziw sprawnie. Teza o niepraktyczności została obalona.

Dane z backendu do frontendu przesyłane są przy pomocy protokołu bazującego na JSON-RPC. Wiem, można było skorzystać z SOAP, XML-RPC , ale w domu nie używam technologii XML. Ot taki kaprys :-).
Postaram się o kompatybilność z JSON-RPC, abym mógł później opublikować API. Dzięki temu serwis będzie wpierał rozreklamowaną technologię SOA ;-)

Oto lista tego czego użyłem:

PHP: Smarty, DB.phpJSON-PHP

Lispie: SBCL , cl-json, slime, drakma, cl-mime, cl-ppcre

Komentarze: 2

Jeszcze nikt tego nie skomentował.

Kanał RSS dla tego wpisu.

Niestety, skomentowanie tego wpisu jest niemożliwe.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2009 nablaone.net | powered by WordPress with Barecity