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