Posts Tagged ‘ sourcecode

BD-review

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/ >.

Related posts

Opensource contribution always pays..even if a couple of years after

Someday two years ago I submitted a translation for an opensource project, gmail-notifier. It is a very nice notifier for Gmail accounts written in Python. I never received a response from the authors , neither I saw my translation appear in the project source, which seemed to be dead.
It was my first attempt to actively help a free software project, and I also felt demoralized because of the absent feedback.
Today I surprisingly noticed that the project is active again, and the authors cited my work and also included my translation in the source code. They “forced” me to forgive them because they released this version just for including the translations! They even published the list of the translators on their home page, telling:

In the last two years many people have contributed with the project by sending to me translations that I have never posted. The development of Gmail Notifier 1.7 is now starting, so I’m releasing this version just to include those translations and to say thank you to all the people that have supported the project.
The new translations are:
- Svenska
- Italiano (Daniel Graziotin)
- Nederlands (Dennis van der Staal)
- Deutsch (Marc Philipp, Eric Franco)
-Portuguese (Brazil) (Yguaratã C. Cavalcanti)
- Français (Thibault Martin-Lagardette)
- Czech (Václav Cermák)
- Russian (Aleksandr Chekanov)
- Polish
- Latvian (Kaspars Krampis)
- Esperanto (Abel Johannes)
- Arabic (Youssef Chahibi)
- Japanese (Satoshi Tanabe)

I took a screenshot as memory

They also included some thanks in the sourcecode.

A contribute to opensource projects is really rewarding, even if your work consists in modifying a handful of XML lines.

If you’ve got the time to do it, then make it!

I wish good luck to gmail-notifier team for the development of the 1.7 release, which will be written from scratch. I wish I had the time to contribute to the sourcecode, too, now that I’m able to handle some Python, but I believe I will help them to translate the program in Italian again :-)

Related posts

BD-incollo 0.1 is out!

As I promised, BD-incollo 0.1 is finished and the source code is available in the project page under the GPL 3 license.
Every MUST requirement has been done and just two MAY requirements could not be developed in just 6 days. But They will surely be in the next releases.
Sourcecode is well commented using xP standards and there are few comments where necessary, but is should be clear. If not, drop me a mail.
I will write a map that describes the source code tree tomorrow!
The conclusions of this experiment are that Django is really a web framework for perfectionists with deadlines! I spent more time playing with templates and CSS than with the whole python coding! It’s a valid alternative to Ruby on Rails, and built on a programming language I really like.
Go and grab the code!

Related posts

BD-incollo project update, 24 hours before service launch

Quite everything is ready!
There is a feature that I have to finish, the removal of a Paste after 30 days of inactivity.
There are a couple of bugs to be solved now, but I believe I will fix them with the 0.2 release.
I think I will be ready to launch the service tomorrow at 00:00 GMT + 1.
Sourcecode will also be released tomorrow

Related posts

Announcing BD-incollo Project

As I promised, I would like to announce the start of a new BD-thing! I’m currently learning Django because of job needing and because of fun. The best way to learn a new language (even if a framework) is to apply it for solving a problem.
That’s why I decided to start BD-incollo!
BD-incollo will be a kind of pastebin clone written in Django. Totally free. Free meant as free software. You may download the sourcecode and use it by your own.
Ok, what’s difficult with this? I’m planning to release a decent usable version in less than a week.
This means, I want to release the sourcecode on Sunday, 2008-09-28 and also to launch the service on Monday, 2008-09-29.

I believe in Django and I know it will be possible to make it!

Related posts

BD-theme 0.8. The Experiment

As I promised more than 2 months ago, I’ve just released the sourcecode of the wordpress theme on my blog. BD-theme 0.8 is a set of experiments that will bring me to the final release, I cannot promise that it will work perfectly on every browser, but it will almost do the job. Meanwhile, I’m working since 7 days to the next release, 0.9, that should bring to the blog a final layout.
UPDATE 2008-08-22: The theme you’re actually seeing in the blog is what will become BD-theme 0.9. I’m testing it.

Related posts