Posts Tagged ‘JSP’

Announcing BD-review, a free platform for music reviews written using JavaEE

Wednesday, July 29th, 2009

BD-review is a dynamic website to allow people to review releases (albums, demos, EPs, singles) of (young, unsigned) music bands. The project is the outcome of the Internet Technologies course at the Faculty of Computer Science of the Free University of Bolzano. The requirements of the project were to build a website using a small subset of JavaEE technologies, without the use of web-frameworks.

A screenshot of a Review

A screenshot of a Review

The project is not really meant for production use. It was made as a strong, working and correct base for studying JavaEE academically. It should be useful for every student (also non-student) willing to have an overview on JSP and study it. The code is well-written, uses MVC, and the whole project is documented in detail in a 20+ pages report.

Read more on the project page, download the sources and play with it! Please let me know about your experience with BD-review code.

BD-review

Wednesday, July 29th, 2009

BD-review is a dynamic website to allow people to review releases (albums, demos, EPs, singles) of (young, unsigned) music bands. The project is the outcome of the Internet Technologies course at the Faculty of Computer Science of the Free University of Bolzano.  The requirements of the project were to build a website using a small subset of JavaEE technologies, without the use of web-frameworks.

Therefore, this project is not really meant for production use. It was made as a strong, working and correct base for studying JavaEE academically. It should be useful for every student (also non-student) willing to have an overview on JSP and study it. The code is well-written, uses MVC, and the whole project is documented in detail in a 20+ pages report.

A screenshot of a Review

A screenshot of a Review

I encourage to read the PDF report of the project. It contains detailed information about the analysis and design phases, as well as the architecture description, screenshots, problems found etc. Please read also the README file. It contains configuration instructions.

There is a running demo located on the evaluation server of the course, but I think it will be removed soon.

Quick Jump:

Vision

Requirements Implemented

Technologies Overview

Download

License

Vision

The aim of the project is to build a dynamic website to allow people to review releases (albums, demos, EPs, singles) of (young, unsigned) music bands. Users will be able to signal interesting materials and review them, while other users will be able to comment the reviews, too.
This web 2.0-oriented application should allow unknown talented musicians to achieve a higher notoriety but also to improve their productions.

Screenshot of the personal user page

Screenshot of the personal user page

Requirements Implemented

I report here the requirements of the course, all implemented by BD-review:
What BD-review implements is:

  • User Management
    • List existing users of the system
    • Creation of a new user
    • Deletion of the existing user
  • List and modify access rights of the users
    • check boxes with some capabilities (min 3)
  • User registration and login to the system
  • Items management
    • Users add, edit or remove items
    • Users comments or reviews items
    • Administrator can manage the comments (edit,remove, add)
  • Personalization
    • Salutation for a returning user
    • List resources that are new from the last visit
    • Customization of the layout for a class of users.
  • Techniques – MUST be used
    • Static HTML
    • CSS: all the look and feel must be in CSS files
    • Javascript: check input and manage menus
    • Servlet: Reading (parameters and headers) and writing headers and resulting page
    • Servlet: Session management with cookies and session object
    • Servlet: Redirect the client
    • Servlet: Forward to another page or servlet
    • JSP: Expressions, scriptlets and declarations Beans
    • DBMS access trough JDBC
    • Integration of JSP and Servlets (forward and include) using MVC pattern.

In addition, BD-review implements two Filters and plays with Regular Expressions.

Technologies Overview

  • J2EE technologies (JSP, Servlets and JavaBeans)
  • Database support (PostgreSQL 8.3) through JDBC 4
  • XHTML Strict 1.0 + Cascading Style Sheets 2.1 for presentation
  • Apache Commons for conversion and Bean population routines
  • Some utility methods found on Books and Internet (their provenience is cited in the sourcecode)
  • Javascript for confirmation system and form validation
  • Regular Expressions
  • TinyMCE rich WYSIWYG HTML editor
Screenshot: modifying a Review

Screenshot: modifying a Review

Download

PDF report of the project
Complete Source Code and Documentation (as Netbeans Project)

The Future

There will not be future developments for the project. It was not a real-life project but I will be very proud if you find it an useful example for learning JSP. You can also use it as a basis for developing a real project (also a University Project). You can do anything you want with BD-review, but please respect the license. I would be happy if you send me an email about your experience in using BD-review.

License

BD-review is released under The Gnu Affero GPL version 3! This is different from the license of the contents of the blog

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see < http ://www.gnu.org/licenses/ >.

What is taking me busy – Pomotux!

Tuesday, May 12th, 2009

I'm currently pressed by my University life, that's because I don't post often.
There are 3 big projects for this semester: a C compiler, a dynamic website using Java Servlets and JSP and the most interesting one: a C++ program for Software Engineering Project course.
I'm working with other two collegues on a task manager for people using the Pomodoro Technique by Francesco Cirillo.
The project is called Pomotux and is under development following strong software engineering methodologies (Scrum@Xp). Pomotux is under construction since 2 months and uses technologies such as SQLite to store and play with tasks. The interesting fact regarding our data structure choice is that we are also using a framework for obtaining ORM, called LiteSQL.

LiteSQL is a C++ library that integrates C++ objects tightly to relational database and thus provides an object persistence layer

LiteSQL is still young and immature but powerful enough for our scope. We are also happy to provide feedback to their developers, that are ready to help us. They even wrote a patch for us!
Pomotux is reaching an unexpected stability. Unexpected because it is written by 3 young people that come from a light Java experience and saw C++ 3 months ago. It works under Linux and its graphical interface uses QT 4.5.0. It should work on any *NIX variant that meets dependencies, but also under Windows with some light modifications.
It will support just the basic features of the technique (unfortunately we don't have the time to fully work on it) but it's ready for expansions such as team support and statistics.
We will be happy to release the sources as soon as we finish the course, hoping that people will find it useful and that some serious programmers take it and make it the perfect tool for Pomodorians :) I will also contact the author of the Pomodoro Technique when we release it.

Announcing incollo.com service!

Tuesday, September 30th, 2008

When I announced BD-incollo 6 days ago, I also mentioned that I would have launched the service today. I really did that, and I'm very proud to announce the first site that runs BD-incollo.
http://incollo.com! Very easy :-)
Incollo.com is a collaborative debugging tool like Pastebin or other similar services, but it's slightly different from it. And it's different from other Pastebin clones even written using Rails or Django.
Here are the most exciting features:

  • It's Fast. Very Fast
  • Written thinking about usability
  • A very clean interface, a minimalist design that gives space to the code (as it should always be)
  • It's possible to search through pastes, like in a forum
  • A Paste is not deleted after 30 days or something similar. A paste is deleted after it is no more interesting! It's deleted after 60 days of no visualizations
  • The system is anonymous. It won't store your information! Paste whatever you want but please use your brain! A Paste may be reported to the administrator!
  • You don't really have to play with options and there are no required field other than the Paste itself. You may paste a text and directly hit the submit button
  • Quite every page is XHTML 1.0 compatible
  • It works well and has nice urls, thanks to Django
  • Compatible with every browser (tested with Internet Explorer 6,7,8, Mozilla Firefox 3, Apple Safari, Google Chrome)
  • Resolution friendly! Liquid design that adapts to every monitor resolution (tests from 1024x768)
  • Developer friendly! Every functionality of incollo.com can be used with max 2 mouse clicks and without a mouse scroll!
  • Tested with lots of pastes, quite every source code should be perfectly viewed (this does not happen with every pastebin clones I've tried)
  • Uses Pygments for code highlighting
  • Languages supported: ActionScript, Assembly (various), Boo, Befunge, BrainFuck, C, C++, C#, Common Lisp, D, Delphi, Dylan, Erlang, Haskell (incl. Literate Haskell), Java, JavaScript, Lua, MiniD, MooCode, MuPad, OCaml, PHP, Perl, Python (incl. console sessions and tracebacks), Redcode, Ruby (incl. irb sessions), Scheme, Visual Basic.NET, Django/Jinja templates, ERB (Ruby templating), Genshi (the Trac template language), Myghty (the HTML::Mason based framework), Mako (the Myghty successor), Smarty templates (PHP templating), JSP (Java Server Pages), , Other markup, , Apache config files, Bash shell scripts, BBCode, CSS, Debian control files, Diff files, Gettext catalogs, Groff markup, HTML, INI-style config files, IRC logs (irssi style), Makefiles, MoinMoin/Trac Wiki markup, Redcode, ReST, SQL, also MySQL, Squid configuration, TeX, Vim Script, Windows batch files, XML

This is an example of Paste with Incollo.com:
http://incollo.com/7dca5011

You are really welcome to report any bugs or leave a feedback! Remember that this is my very first Django project, and I created it in about 6 days!

Of course, I'm already beginning to think about new features :D

Curriculum

Thursday, September 14th, 2006

In this page you can download my European Curriculum Vitae in PDF format.
In questa pagina è possibile scaricare il mio Curriculum Vitae formato europeo, in PDF.

Old Curriculum Vitae, ITALIAN

Dati anagrafici

  • Daniel Graziotin
  • Nato a Bolzano il 23 Aprile 1987
  • Residente in Via San Giacomo n. 13,
 39055 Laives (BZ)
  • Patente: A,B
  • Telefono cellulare: +39 3400788910 - Telefono fisso: +39 0471251310
  • E-mail: bodom_lx email

Istruzione e Formazione

  • 2006 - Maturità scientifica 88/100 presso “Liceo Scientifico Europeo Rainerum”
di Bolzano
  • Studente di Informatica Applicata alla Libera Università di Bolzano 
(Bachelor of Science in Applied Computer Science)

Esperienze Professionali

Lingue Straniere

  • INGLESE: ottima conoscenza della lingua parlata e scritta (C1)
  • TEDESCO: buona conoscenza della lingua parlata e scritta
 (B2)

Certificazioni

  • Zertifikat Deutsch für den Beruf del Goethe Institut (Tedesco Orale e Scritto livello B2)
  • Certificate in International ESOL di City and Guilds (Inglese Scritto livello Expert-C1)
  • Certificate in International Spoken ESOL di City and Guilds (Inglese Orale livello Expert-C1)
  • Certificazione WebValley 2005
  • European Computer Driving License (ECDL)
  • Patentino Bilinguismo C

Pubblicazioni

Portfolio

Conoscenze informatiche

Sistemi Operativi:

  • Gnu/Linux, 8 anni ambiente Desktop, 6 anni Server, sviluppo applicazioni Web
  • Windows, 11 anni Desktop, 1 anno Server
  • Mac OS X ambiente Desktop

Linguaggi di Programmazione/Markup/Stile/Query

  • HTML/XHTML - CSS - Javascript/Ajax - PHP - SQL: livello ottimo
  • Java - C/C++ : livello ottimo
  • Python - ASP(VBscript) - LaTEX: livello buono
  • BasicX - NQC (linguaggi per programmazione microcontrollori): livello buono
  • Basi di molti altri linguaggi, nessuna difficoltà di apprendimento

Esperienze Formative

  • Sviluppo di una social network per il car-pooling in Italia, in Python Django
  • Sviluppo di un progetto opensource in C++ (QT) per la gestione di attività secondo la Tecnica del Pomodoro
  • Sviluppo di un portale dinamico a scopo accademico in Java EE5 (Servlets e JSP)
  • Sviluppo di una mini shell per sistemi Unix in C
  • Sviluppo di una versione opensource del popolare gioco Monopoli della Hasbro, in Java
  • Sviluppo di due CMS in PHP5 per Bizetaweb, uno per la gestione di Alberghi, l’altro per la gestione di Aziende (dettagli e immagini disponibili nel portfolio)
  • In Thun S.p.a,: Esperienza come sistemista, amministratore di rete in ambiente Windows 2003 e Windows 2000, basi di amministrazione Ibm Lotus Notes / Lotus Domino
  • Gestione di un server virtuale con Debian Gnu/Linux come sistema operativo
  • Pubblicazione di guide per configurare parti hardware sul wiki ufficiale di Ubuntu, e altri siti su Fedora e OpenSuSE.
  • Sviluppo e gestione di tracker BitTorrent in PHP (il maggiore da 150.000 utenti) negli anni 2004 e 2005; contatti con i grandi nomi di BitTorrent per eventuali progetti futuri
  • 1° posto Nord Italia per il concorso “Con computer ed Inglese conquisti il tuo futuro” (Acer, Trinity, Microsoft, English Town, Parlamento Europeo) nel 2004
  • Stage WebValley 2005, ITC, IRST, Iprase di Trento; sviluppo del sistema prototipo LUGORT per la raccolta, l’analisi e la visualizzazione interattiva di dati biologico-ambientali. (altre info: http://mpa.itc.it/webvalley/webvalley2005/ReportWebValley2005-PAT.pdf)
  • Stage formativo al Museo Civico di Rovereto per la programmazione di robot Lego Mindstorms nel 2005
  • Corso sull'uso di LabView nel 2003
  • Tre anni di frequenza laboratori pomeridiani orientati alla robotica ed organizzati dal Liceo Scientifico Europeo Rainerum. Contributi nelle realizzazioni dei robot apparsi spesso alla televisione locale
  • Tre viaggi studio della durata di tre settimane ciascuno in Germania
  • Un viaggio studio della durata di dieci giorni in Inghilterra