Cybertech Systems - Community

SUMMARY

 

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.

 

TECHNOLOGIES

 

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

 

PROJECTS IMPLEMENTATION DETAILS

 

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

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 Ajax requirements.

 

PROJECT ARCHITECTURE

 

            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.   

 

      

 

 

 

 

 

 

 

 

PROJECTS IMPLEMENTATION DETAILS

 

Ø      Home Page

                 

         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.

 

 

Ø      Route Management

 

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

 

 

 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.

                       

 

5. Route Detail Section

          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.

 

 

6. Route Video Edit

        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.      

  

Ø       Blog Management      

     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.

             

 

2. Blog Comments

           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.