cv.taulant



home profile skills & technology experience case study contact CV

Project Forum

 

Title:                   FORUM
Author:                Taulant Bajraktari
Version:               1.0
Date:                   5 March 2009


Contents

 

Contents
Introduction
Purpose
Technologies
Walkthrough
Registration
Login
Search
Admin
Thread
Post
Future Development

 

 

Introduction

Purpose

 

The purpose of this project was mainly to use open source framework, tools and utilities to create a forum where ideas can be shared.

The project is developed from scratch including design, development, testing, production, hosting etc

Technologies

There are various technologies used in this project, spring being the container everything is configured around spring.

  1. SpringFramework

Very powerful framework and supports a lot of other frameworks

    1. MVC – Controller layouts

Excellent framework for dealing with forms, and great for inversion of control

    1. AOP, TX – for transaction management  
    2. Interceptors
      • For general intercepting tasks
    1. Listeners
      • listening behaviours
  1. Hibernate

Great ORM tool for managing data retrieval and storage

    1. Hibernate Search Plugin’s with lucene
  1. Tiles2

Templating jsp

  1. Lucene

Search utility integrates with hibernate search

  1. Axis2

Web services using axis2, SOAP service calls

    1. Rampart

Security for web service layer, using policy.xml for secure communication, using 3des authentication key

  1. DOJO

Powerful javascript object oriented utility, providing rich interfaces 

  1. DWR

Ajax calls from client side

  1. Maven

Long gone the days for Ant (Which I still use on some projects) powerful build utility

  1. Jasper Reports

Report designing and generation

  1. Digester

Xml file manipulation, using rule sets etc

  1. Cewolf

Taglib for jfreechart for charting

  1. TinyMce

Rich text editor

  1. JSTL Taglib

Jstl wrapper – for functionality enhancement

  1. Velocity

Templating – data

  1. TestNg

Testing

  1. DbUnit, Junit

Db insertion and testing units

  1. Jetty

Application server used for testing

  1. Tomcat

Application server used for testing

  1. Trac

Project management software

  1. CruiseControl

Ci – countinues integration testing

  1. POI

Excel, word utility

  1. IText

Pdf utility

  1. DisplayTag

Table taglib utility

  1. Oracle

Database data storage - powerful

  1. Glassfish

Production application server

Walkthrough

 

The following walkthrough is going to focus, only some of the areas where a lot of functionality is used and more information will be provided from time to time.

A simple style design using tabs and two column template

 


  • Left menu - Last 10 threads and posts
  • Achieve of the threads
  • Tag claud, showing top 20 search keywords, and focusing on the most searched term

 

 

im4

im6

 


Registration

When user would like to register very simple clicking on the registration link provided on the top menu, a registration form will appear.

Login

 

When user logins, he can view and post a thread.

The list of the threads displayed below and the logged in user and some of the details displayed on right hand corner

im8

 

Search

Once they logged in, users can search the threads.  The search facility uses lucene and hibernate search to return the result.

Using search facility I am searching for development and below is the result returned.

Lucene search result, including score, and the object details.

im1

 

Admin

When user logins is detected if its admin user, if so redirected, to admin section

When redirected to admin section, he can view all users, see their activities such as analysis via charts (generated using cewolf) a flat table with functionalities (generated using display tag).

At moment a normal user can go to admin section.

In admin section user can use web services to display threads.

 

im3

 

im5

 

 

Thread

At moment not full lock down is applied to secure threads.  Users can create threads, delete and some of the threads are locked that can not be viewed.

At the bottom of the threads, the ability to add a new thread is provided

im7

 

Post

Posts, user can create a post, reply to a one, or delete depending on the permissions.

Add the end of posts, ability to add a new post provided.  This is using TinyMCE editor to provide a rich interface to entering information in style.

im9

 

Future Development

  • Easy Navigation
  • Code entry syntax highlighter
  • More themes
  • Admin lockdown
  • More context and sensible links
  • More enhanced unit tests