Transcript Document

Gem Cluster
Freelancer Network
Sosuke Tokunaga
CS491b Fall 2004
Background

High performance computers and the
Internet


Advantages of Freelancers


Encourage skilled professionals to work as
freelancers
Freedom, Flexibility
Disadvantages of Freelancers

Limited Capacity, Instability
Inrtoduction

Gem Cluster



Freelancers can



Virtual community on the Internet
To help freelancers to share their workloads
Post projects to obtain other freelancers’ help
Participate in projects to get jobs
Guest Managers can

Post projects to acquire team members
Functionalities

Freelancer Information Management




Profession and skills
Address (City and State)
E-mail address
Project Information Management




Manager
Tasks
Applicants
Members
Functionalities

Project Mail


Function to send mails to project members
Shared File Space

Project members can share files by uploading
and downloading them.
Roles of User
Apply for Tasks
Register
/ Login
Guest
Post Projects
/ Login
Applicant
Freelancer
Project
Member
Post Projects
Project
Manager
Manager
Post Projects
Admit
Data Model Structure

User
User
Manager
• User ID
• Password
• E-mail
• Name
Freelancer
• Profession
• Skill Description
• Address
• Web address
Data Model Structure

Project
1
Project
0..*
Project Manager
0..*
File
• Filename
• Data
• Size/Type
• Post Date
User
• Project ID
• Project Name
• Description
• Start/Finish Date
• Location(City and
State)
• Task ID
• Expected Profession
Task
• Description
1
1
1..*
User
0..*
0..*
Project Member
Post User
0..1
0..1
Freelancer
0..*
0..*
Applicant
Freelancer
GUI Design
Header
Body
Footer
Page Navigation
Non-member area
Log In
Log In
Log In
Main
Home
Home
Register
Register
Register
Post
Projects
View
Freelancers
Manager
Info.
Main
Next
Back
Project
Info.
Add and Next
Next
Back
Task
Info.
Post Project Sequence
Freelancer List
View Projects
Project List
Back
Finish
Main
Page Navigation
Member area
Main
Remove
Main
Show
My Profile
Home
Log Out
Home
Edit
My Profile
My Profile
Back / Edit
Post
Projects
Next
Finish
Project Info.
Task Info.
Main
Back
Post Project Sequence
View
Freelancers
Back
Add and Next
Select
Freelancer List
Freelancer Profile
Back
View Projects
Select
Project List
Project Info.
Back
Apply
for a task
Main
Page Navigation
Member area – Main Page
Admit an Applicant
Main
Main
Applicant List
Managing
Project
Remove
Participating
Project
Applying
Project
Cancel Application
Project Info.
(As manager)
Edit
Applicant Info.
Project Info.
Task Info.
Manager Info.
Project Info.
(As member)
Member Info.
Project Mail
Project Info.
(As Applicant)
Shared File Space
http://cs.calstatela.edu:8080/cs491stu01
System Design

Multi-tiered Model Web Application
Gem Cluster
Mail Object
Java Mail
DAOs
JDBC
Action
Forms
JSPs
Business Objects
Utility
Web
Tier
Service Interface
Actions
Controller
Servlet
User
(Client Tier)
Business
Logic Tier
Java Beans
SMTP
Server
RDBMS
(Data Tier)
Database
Environmental Requirement

Client Machine


Web Browser (Internet Explorer 6.0)
Server Machine




J2SE SDK 1.4 or later
Servlet Container (Tomcat 4.0.6)
RDBMS – MySQL 4.0.18 or later
SMTP Server (IIS SMTP Server)
Set Up – Installation



Set up required environment
Create a database for the system
Deliverables




SQL file for creating tables in the database
Web application package
Execute the SQL file
Copy the web application package into your web
applications directory ($CATALINA_HOME/webapps)
Set Up – Configuration

$webapps/gemcluster/WEB-INF/ gemcluster.properties
#Database Configuration
database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost/gemcluster
database.user=root
database.password=
#Mail Server Configuration
mail.smtp.host=localhost
#File Storage Configuration
file.max.size=1MB
file.total.max.size=16MB
#Page Configuration
page.list.size=5
Set Up – Execution


Restart your servlet container
Access from Your web browser with

http://hostname[:portnumber]/gemcluster
Future Work



System Log
Security Enhancement with SSL
Profession Information Management
Gem Cluster
Thank You!