Cybertech Systems - Community
A
Community in this context means specially an online-community, which is used
from similar minded people to share their opinions and facts as well as to
communicate. In
reality it will be one application behind several communities, which differ
just in layout and might also differ in some functionality. This product is
such a one like users can share their rides and create blogs about some subject
etc.
1. Eclipse 3.3 IDE for development, debugging.
2. JBoss-4.2.2.GA as the web server.
3. SVN version control for versioning and code delivery.
4. Ant for our build and remote deploy.
5. Programming Language: Java (jdk 1.5)
6. Struts used as controller and Spring
used for Business logic.
7. PostgreSQL8.1 as the database
8. Hibernate is used as the object/relational persistence
9. GWT (Google Web Toolkit).
Following are the major
requirements that we had to meet while developing this project:
Ø
Technical Requirements
1.
Develop the project as a
Java /J2EE based application.
2.
Application should run
in a J2EE complaint Application Server.
3.
Application should
support any JDBC complaint database.
4.
Simplify the business
logic.
5.
Develop the console
based on jsp and
6.
Required google maps
for presenting routes.
Ø
Functional Requirements
1.
Project includes
following sections.
a.
User Login
b.
User Management
c.
Route Creation and
Management
d.
Blog Creation and
Management
2.
Provide features to
perform CRUD (Create, Read, Update, and Delete) for Routes and blogs.
Following are the
solutions that we implemented to meet the requirements of the project.
Ø
Technical Solutions
1.
We developed the
application using Java (jdk 1.5).
2.
Deployed the
application in JBoss Server, JBoss.
(Jboss-4.2.2.GA).
3.
Hibernate 3 is used
as the persistence layer so the application works with any JDBC complaint
database.
4.
Spring is used at the
middle tire to simplify the business logic.
5.
At the time of
development we used PostgreSQL8.1 as the database.
6.
GWT is used to
simplify the
Following Diagram will explain the
Architecture of the project. We used the Jboss4.4.2 as the application server. Struts is used as the controller. Powerful spring framework
is used for processing business logic and at last Hibernate3.0 is used for
persistence. The system is using database as Postgres8.2.

Bellow is the home page for the logged in user. If user is not logged in
some of the left menu options will not display.

This
section will manage all the operation related to a route.
Google Map Implementation
One of the core requirements of this project is the google maps. GWT ext
library is provided support for google maps. So we have used that to develop
the google maps. That is as usual java coding so it will reduce the complexity
of coding and inter browser dependencies of
1. Route Listing
After successful login the system will display all the routes for that
user. The system shall also display a goggle map (world map), which will
display the starting point of the route. The starting point is fetch from route
details table.
On click of the route starting point on the map user can go to the route
details page. If the user is a logged in user he can add images, videos etc in
to that route.

2. Add a
route
For
add a route the user can use the ‘Add a route’ link. The route has the
following fields
1. Route Name – Name of the
route
2. Route – This is a file
uploading option for GPRMC.
3. Status –Status of the route,
whether it is public or private.
4. Namespaces – Route namespaces.
5. Tags – Tags fore the route.
Namespace Tree and Auto
Completer
We have created a GWT tree control for this project. If the user selects
a namespace in the tree then the system will display namespaces of the selected
node. This is implemented using click listeners. We have also write logic for
maintain the state of the “Selected Namespace” tree if user comes to edit the
route.
We have created an auto completer for this project. For implement the
auto completer we are making RPC call to the back end while user is typing each
character in to the “Select tags” text area as shown in to the bellow figure.

3. Delete or Edit route
For Delete/Edit route use
corresponding links for each route. Edit route section will display all details
related to a route and user has otiose for edit each options if he has the
permission.

4. Route Details
For a route user has to add videos, images
and post and even edit the route itself.
1. Use the link ‘Add a Video’ to add
videos. For video and image upload the system has the following fields:
a. Name - Name Of the video or image
b. Thumbnail – Image which
will used to display as a thumbnail for videos and mages.
c. Upload - The original file, which will use for
videos and images.
Route details section will display all the details related to a route.
If the user have permission he can edit all the
details using the corresponding links provided for each section.

For
images and videos we have a section for edit it. This section includes setting
up the display position of the images and videos in to the route details page
and a delete option for deleting the images and videos.

Ø
User Profile Management
A logged in user can set up his
details using this module. We have four sub sections under this section called
user private profile, user public profile, user friend list, user contact
requested.
1. User Private Profile.
For logged in users can add or edit
their private details. User has an option to upload an image also. This will
display in to his route section. Following fields are using
1. Picture – Upload an image for a user.
2. About me – Some text
about the user
3. Mode – Mode of the user
2. User Public Profiles.
For logged in users can add or edit
their public details also. This will display in to his route section for nod
logged in users and users who are not his friends. Following fields are
using.
1. Nick Name –Nick name of the user
2. Gender – Gender of the user.
3. Age – Age of the user.
4. About me – About the user.
3. User Friends List.
For logged in users can view all his
friends here. Also the system will display a bar graph, which will represent
the number of routes per friend.

4. User Contact Request.
For logged in users can view all
private profile request made by other users. He can approve or reject the
request. If it is approved then the user who requested will add into the user
friend list.
For a logged in user have two sub sections
under this section called ‘list blogs’ and ‘my blogs’. User can add a blog on
click of ‘Add a Blog’ link.
1. List bogs.
This section will list all blogs
present in this system. Users can click any of these blogs and have to read all
the comment for that blog. If the
logged in user click ‘edit my comments’ link he can edit or delete his comments.
For blogs we have one more option to search a blog by its subject. At the
bottom of the page provide a link for ‘add a comment’ using that user can add a
comment.
Logged in users can post
comments for a subject. The system provides an option for edit the comments,
which is posted by the user.

3. My blogs
My blog section will list all the
blogs created by the logged in user. The user has all the permissions on that
blogs like read, edit and delete. If user deletes a blog then remove that blog
and all its comments from database.
If he goes for edit option the he
can update the blog as well as he can delete or update the comments. At the
bottom of the page provide a link for ‘add a comment’ using that user can add a
comment.
For not logged in users the system provide a link called
‘All blogs’ at the bottom of the home page .On click of that link users
can view all the blogs present in the system and view all comments of each
blog. Not logged in users any other options like add or delete.