May 09

By: Amir Sezavar Keshavarz

As specified in the project schedule, I implemented the Search module and Public Profile Module:

  • Search Module: This module is very crucial to our domain as the users can find their friends via this module. This module is in its first cycle and hence it only supports limited features. However the goal of this module is the user will enter a search query which might be anything related to our domain. The system gets the search input and will retrieve all the related entries in the database and shows them in a central space. This can be anything such as other users, accommodation, field of study, study threads, groups and events, and others.
  • Public Profile Module: Public profile module is in its first cycle and also supports limited features. The user clicks on another user’s public profile page link which he finds by searching, navigating, or that user is in his friend list. After that the system will show the public profile page of that user.

Although these two modules should improved in order to meet our requirements, in this stage, they seem to be sufficient. So, I will just finalize that and apply them to the whole system and I will start working on other modules. Later in the project cycle, I can come back and add other features.

Furthermore, all the pages have been improved. For instance, all the codes that were required in all pages, have been moved to another public page and in those pages that I need them, I included that public page.

Apr 25

By: Amir Sezavar Keshavarz

As specified in the project schedule, I worked on Accommodation Module and it is now finished.

This module needs more work. Specifically, I have to add ranking and photo abilities later.

This module is able to:

  • By entering into this module, the user is able to see a list containing all the accommodation of the University of Southampton and their address.
  • Then, they can choose either to see more photos, ranks, or reviews. They first two options have not implemented yet and I will work more on them later.
  • The review section is finished. The user is able to read all the reviews of accommodation.

At the moment, and mainly because of time limitation, the user is unable to edit or add anything and he is only able to read information. For instance, in this module, the user is able to read reviews or accommodation detail information. I decided to first focus on reading of materials and then add editing and writing section to all modules. For now, we do have sample data in our database.

But what’s good about this approach?

This approach will help us to design and implement the system very rapidly and then show it to our users and get updates and feedbacks. Furthermore we can ask their opinions throughout the work. This approach seems to be more rapid and we can design and implement the system quickly. After we get the final approval of users, I will add the editing and add features so they are able to modify information.

Now about the next module. I would like to work on search section and viewing friends profile as these two seems to be the most important thing in a successful social site. I have to think about whether the system is going to have two different kinds of profile (one for the user himself, and the other one which could be like a public profile). If I go with the second approach, later in the project life cycle, I can add security module easier. For instance I can have a trust module in which the public profile would be dynamic to different friends and people.

Apr 24

By: Amir Sezavar Keshavarz

The implementation phase has been initiated a few days ago and I am following our use case and database schema in order to develop our social networking web-based application. These days, I have worked on profile module and was able to implement the following sections. One good thing about this system is flexibility, adaptability, and scalability. Whenever a change is necessary, or there is a need to add something else, the system is really flexible.

  • Authorization Module
    • For now, a simple login mechanism has been implemented. The user will provide her username, password, and university email address in order to login into the system.
  • Profile Module
    • Almost all sections of this module have been implemented:
    • Friend Section: User is able to see all his friends, and when they form a friendship.
    • Accommodation Section: System notify the user where he currently lives.
    • Previous Education Section: User is able to see his previous educations.
    • Currently Education Section: User is able to see his current field of study and all his modules.
    • Friend Request Section: This section notify the user about friend requests he has and also the requests he has sent to others.
    • Message Section: This section shows all the messages that the user has
    • Tricky ones (Hardest ones)
      • Event Section: This section notify the user about the events he is going to participate, and all the events that he has been invited to.
      • Group Section: System will notify user about all the groups he has created and all the members of that specific groups, all the groups that the user is in, and all the groups he has been invited to.
      • Thread Section: This might be the trickiest one in this module. System will notify the user about all the module threads he has created, all the answers other people have posted for his question, and all the threads that user has participated in.
  • Future Plan
    • I am going to focus more on other modules. The next module will be accommodation.

These modules and their sections are basic and play like notification. However as the fundamentals have been implemented, the rest will be easier.

Through the implementation of profile module, I asked my friends’ opinion and I considered their opinion as well. Fortunately, due to earlier considerations (the database, the use case, the code and etc),  it was so easy and flexible to consider their opinions and there was no need to change something. It was like add more features to a module.

We have a long way to go, however we truly think this system is able to help the University of Southampton and the students in their social and educational life.

Apr 20

By: Amir Sezavar Keshavarz

Now that we have our final version of database and it is in MySQL Server Database, we can start coding. We decided to choose Java Enterprise Edition and implement a web-based system with JSP and Servlet. We will also use different libraries and tag code as necessary which we will note later.

The implementation will be followed base on a roadmap which we will upload it shortly. The first section of this roadmap is user registration. As we noted earlier, there will be no normal registry form like other websites because the user will login into her account by her university email address and a chosen password. However, after she logins into the system, and only for the first time, she has the opportunity to enter her personal information into the system. This registry process consists of nine steps which helps her in the process. After the system acquires the information, the user will be redirected to her own personal page in which she can see her profile and personal information.

This nine step process has been implemented and works fine in acquiring information (with some minor difficulties which will be solved later).

Apr 10

By: Amir Sezavar Keshavarz

We investigate about the domain and our use case diagram and we come up with a general schema of our database which we published the result and the schema in previous posts. We decided to choose MySQL Server database as our main database. The main reasons are following:

  • Open Source
  • Performance

However, we are concerned about followings which MySQL Server seems to have short-commings:

  • Recovery

We generate all the SQL codes necessary to have our database and import them in the MySQL Database Server. We consider all the primary keys and data types as well. However there are some improvements that we can consider them later, such as:

  • One of the tables which are responsible for storing user personal data has way too many columns and all the focus are on this table which is like a main table with a lot of links. Later in the way, we can divide this table into two tables. Half of columns will go with table 1 and the rest will be stored in the second table. We could also mirror the table and store records in more than one table ordered alphabetically.
  • We do not consider index in our SQL code which might be essential later for the sake of performance and search speed. Later, it would be a good idea to add index to all tables.
Apr 01

By: Amir Sezavar Keshavarz

In this phase, we are going to be more concerned about the implementation of the project.

From project analysis, we understand about UML diagrams. Use Case Diagrams help us to capture all the requirements and assure that we are going to implement all the features and needs. Furthermore Class Diagram and Sequence Diagram will help us in implementation. All the UML diagram will be uploaded in the website as soon as possible.

We also analyse the database domain. The database schema gives us a general view to the database and all the tables that we are going to implement.

We also have three prototypes which base on our survey and interview, we are going to design one of them. All the questionnaire, interviews and survey and their result will be uploaded in the website.

Mar 24

This document, Prototype Version 3, is available to download from DropBox. In case of any modification, please update all the versions. You have to update word document, PDF document in DropBox Folder and Also this post.

By Boton Li
Posted By Amir Sezavar Keshavarz

Prototype Idea
Mar 22

This document, Idea Development Version 2, is available to download from DropBox. In case of any modification, please update all the versions. You have to update word document, PDF document in DropBox Folder and Also this post.


By: Amir Sezavar Keshavarz

Idea Development Document – Version 2

After our meetings with our mentor and different group meetings, we agree upon the problem domain and what we are going to do exactly. We did all the review literature and we checked some relevant similar project in order to see how they propose a solution and whether we can any weakness there.

After that, we started working on different sections such as Questionnaire, Prototype Design, Use Case, and Database Design. At this stage, we have a good overview of the structure of the system. The following diagram depicted our first general architectural diagram:

Architecture Diagram

Architecture Diagram

The first thing we did and agreed was the distinction between 3-Tier and 3-Layer Architecture. Tiers indicate a physical separation of components on the same server or multiple servers,  but layers refers to a logical separation of components, such as having distinct namespaces and classes for the Database Access Layer (DAL), Business Logic Layer (BLL) and User Interface Layer (UIL). Therefore, tier is about physical separation and units of deployment, and layers are about logical separation and units of design. Due to estimated future use of this system, we decided to develop our system in different tiers so later load balancing, request-response management and database transaction would not be a problem.

We have three different tiers here:

  1. Presentation Tier
    1. Topmost level of the application
    2. Displays information
    3. Communicates with other tiers.
    4. Technologies involved: HTML, CSS, jQuery, Ajax
  2. Logic Tier
    1. Business Logic
    2. Controls an application’s functionality
    3. Detailed data processing
    4. Technologies involved: JSP, Servlet, Tag Libraries
  3. Data Tier
    1. Database servers
    2. Stored and Retrieved
    3. Keeps data neutral and independent from application servers or business logic
    4. Improves scalability and performance.
    5. Technologies involved: MySQL, Hibernate

In next diagram, and in the next Idea Development document, we will be more specific about the details of this architecture so later we have a bright road map. We will be also more specific about the future technologies that we are going to utilize in this project.

Mar 21

This document, Prototype Version 2, is available to download from DropBox. In case of any modification, please update all the versions. You have to update word document, PDF document in DropBox Folder and Also this post.


By Taekyun Kim
Posted By Amir Sezavar Keshavarz

Introduction

This artefact is aimed to discuss different aspects and rationale of the proposed GUI prototype for the SOTON Student Connect application.

There are three part of explanation.

Main page, Personal profile and Accommodation,

Main page is the only we can see before we logged in. and the others are similar page but following which option we choose after log in.

Screen shots

1. Main Page

Main

Main

Features.

From the top, There is a logo but it has not been chosen the placement. Possibly left side or middle side, But not good for right side.

Main menu bar has 6 menu which we discussed before,

Main login page is placed on the left side.  If we are connected with School Database then we do not need join button in Login form otherwise, we will need.

Notice board page is placed on the right side.

This will construct with frameworks so after coding, We just need to modify the middle section

Where Login page and notice page.

2. Personal Profile (After Login Page)

Personal Profile

Personal Profile

Features

As you can read above in main page. Top side is same as before.

After login, You could see personal information on the Left side. You can log out,

Read a message, possibly can see the friends.

The right side is more detail for Personal Profile, Name, Hobbies, Introducing.

The thing is if we are conneced with school database it will come up automatically, and we will modify or add information on our projcect site.

3. Accommodation (After Login Page)

Accommodation

Accommodation

Features

This is another page of menu.

Left side is same as the other page.(of course if we need to modify this page, easily re coding fot only this side)

Right side is information about accommodation.

As you can see, if we choose one of the option of menu then we could see where we are through between menu and main section. This is same as other option of menu.

Strengths

The strengths of the proposed prototype can be listed as follows:

1. Taking advantage of the rich user interface design

2. Easy to use.

3. Easy to coding because of separated page with frameworks

4. quick and instant access to the most important features of the system

Weaknesses

A number of weaknesses can be listed for the offered prototypes as below:

1. Design cannot be changed by user.

2. Administrator should be mange at least a day

Mar 19

This document, Prototype Version 1, is available to download from DropBox. In case of any modification, please update all the versions. You have to update word document, PDF document in DropBox Folder and Also this post.


By Shahin Jahromi
Posted By Amir Sezavar Keshavarz

Introduction

This artefact is aimed to discuss different aspects and rationale of the proposed GUI prototype for the SOTON Student Connect application.

The document will start by including the main screen shots of the prototype along with a full discussion on the rationale for each section and then proceeds to offer the rationale of the design by discussing a number of typical user stories. Finally the strengths and weaknesses of the design will be listed.

Screen shots

1. Home Page

Index

Index

Figure 1

Highlights

Figure 1 depicts the starting page of the system. The design includes a three column paradigm with a banner at the top and a footer to indicate the end of the page. The banner includes the system’s logo, application’s name and the status of the user currently viewing the page. From the status bar user can see whether she has signed in to the system or if the user has not created a account for herself, the system indicates that the current user is viewing the site as a guest and offers her the option to sign up to the system.

The body of the page consists of three columns. The left most column illustrates a picture to graphically indicate the purpose of the system. The middle column offers a textual description of the site highlighting the features and benefits of the system. Finally the right hand side column provides the login facility for users who have already created an account in the system.

The main page follows the traditional page based Web application’s paradigm as it does not include high degrees of interaction and in addition, the conventional types provides more security regarding users sensitive data such as login credential compared to rich technologies for which security remains an unsolved concern.

2. User Home Page

User Main Page

User Main Page

Figure 2

Highlights

Figure 2 depicts a registered user’s home page which acts as a portal giving access to all the features and facilities of the site in a single page. This page is essentially a mix of rich and traditional user interface paradigm in that the main and frequently used features of the application has been included as widgets which update dynamically upon user’s interactions which does not require the page to be refreshed. This way the performance of the system will be highly improved and the interface would be more compact and user friendly.

The top banner remain enact to maintain the consistency of the system. The status bar however will be updated to show the status of the user as logged in and providing a sign out facility.  The footer also still present the indicate the end of the page.

The left hand side navigation bar contain the profile picture of the user along with a list of links to less frequently used features of the system or to pages which should be opened in a new window or as a front layer to the current page.

The main content pane includes a number of widgets which could be managed, closed, minimised or being replaced by other widgets available. Default widgets includes the user’s calender which is one of the most important and most frequently used feature of the system, enrolled modules list which present to the user the full list of the modules she has currently enrolled and contains links to each module’s resources and discussion pages. The notifications and actions widget lists all the recent activities, post, tags, friend’s statuses etc which are relevant to the user. The finder widget offer the facility for the user to search for people, friends, groups, events and activities through the system. The suggestion menu offers friend suggestions which is based on the system’s recommender system. Other widgets which can be included to the system would be accommodation section widget, each of the enrolled groups or activities widget, rss feed of subscribed friends, events or groups widget and so forth.

Please note that these are only the two so called landing pages of the system. If the design is accepted in the prototype review sessions, the prototype will be extended to cover the full details of the system.

Strengths

The strengths of the proposed prototype can be listed as follows:

  1. Taking advantage of the rich user interface design
  2. improved performance
  3. ease of use
  4. ease of navigation through the system
  5. highly customisable user pages
  6. quick and instant access to the most important features of the system
  7. high level of user interaction
  8. clear and intuitive interface design
  9. light weight widget based minimalistic design

Weaknesses

A number of weaknesses can be listed for the offered prototypes as below:

  1. lacks accessibility features
  2. implementation and coding challenges
  3. lack of standardised methodologies for implementation

Prototype to be expanded upon acceptance