IFreelancer: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
No edit summary   (change visibility)
No edit summary   (change visibility)
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Introduction==
==Introduction==
===Project Scope===
===Project Scope===
This project is intended to be a mobile application and especially just for iPad users. What we aim to do in this project is to focus on the need of an iPad application already exist as a website.
Work-at-home scheme is one of the employment methods that have been around for decades. With this method, many people do their jobs in the comfort of their own homes. But there must be a way that gathers these people together and find a solution for each side both employer and employee. With the development of internet, people can easily find a job that is provided by various employers. There are many websites that aim to do this. Each of them has been focusing on the different type of employment such as in store marketing representative, business manager, product manager, graphic designer and many more. We are going to concentrate on to find a job for freelancer for the software development area such as computer programming, web design, website development and graphic design. As it is obvious, they are all related to computer stuff. But we should define the term ‘freelancer’ here. A freelancer is somebody who is self-employed and is not committed to a particular employer long term. Freelance practice varies greatly. Some require clients to sign written contracts, while others may perform work based on verbal agreements. The design of our program does not have to handle these kinds of practices. All these processes will be handled by the websites that we are going to use.
In detail, we are going to use some well-known websites API to design our mobile application. These APIs allow developers to create new and innovative ways for freelancers, employers and even other software to interact with the largest global jobs marketplace. The API allows developers to utilize the entire functionality of these websites.
What we are going to do with these APIs is to unite them and offer it in an iPad application. The main advantage of this idea, users don’t have to look for a job in these websites one by one. They will all be gathered in this application with a user-friendly way and without dealing websites complicated user interface.

==Major Function==
===Login to each provider website===
The first major function is login to the provider website via our application. Access to API resources requires authentication. These APIs are HTTP and XML based, using OAuth for authentication. OAuth is an open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications. The OAuth authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf.
===Search Projects by Keywords===
The second major function is search projects by keywords. This is done by user by entering keywords to the search box such as C++ programming, Android programming, javascript and many more. There will be also many other search options. Users can also define the status of the project, budget, and bidding end times.
===Bid On Projects===
The third major function is ‘bid on project’. The definition of the term bid, a bid price is the highest price that a buyer (i.e., bidder) is willing to pay for a good. It is usually referred to simply as the "bid." After freelancer decides to be involved in a specific project, it gives a bid. It means that I can do this project for this price. Of course, this price will be changed up to the ending time that is defined by the project owner. Freelancers must be awake of this situation and must regularly check that he is the highest bid owner if he really wants to have that project.
===Communicate with Employer===
The fourth major function is ‘communicate with employer’. With this feature, freelancer is able to send private message to the employer and get feedback. This also provides both employer and employee to work on the project efficiently. Freelancer can easily inform employers about the progress of the project, and the employers have chance to see the output of the project throughout the development of the project. This feature is also good for freelancer that he can easily communicate with employer, and indicates that he is able to do this project. This could be thought like an interview in real world. If the employer satisfies the ability of freelancer, he can give the project to him to develop it before the bidding time ends.
===Accept the Project===
The fifth major function is ‘accept the project’. After communicating with the employer, employer accepts to give the project to the freelancer with the specified bidding price.
===Finish and Deliver Work===
The sixth major function is ‘finish and deliver work’. When the project is done at the specified date that is defined at the beginning of the project, freelancer gives the complete work the employer.
===Leave Feedback===
The last major function is ‘leave feedback’. When employer and freelancer finish their work progress, they can leave a feedback. So their reputation can be easily viewed on public by other employers and freelancers. This makes easier for freelancer to get a job easily, and for employers to be trusted by the freelancer.

==Interaction Overview==
[[File:InteractionOverview.jpg]]

==Screenshots of iFreelancer Application==
[[File:Splash Screen.jpg|left|frame|<font size = 2>'''Splash Screen : '''It welcomes the user with the name of application.</font size>]]
[[File:Initial_Screen.jpg|left|frame|<font size = 2>'''Initial Screen : '''In this page, you see the tabbar on the left side. Each of them has its own ability.</font size>]]
[[File:Projects.jpg|left|frame|<font size = 2>'''Projects Screen : '''This vertical bar shows you the projects from the websites we implemented when clicked “Projects” button.</font size>]]
[[File:Projects-2.jpg|left|frame|<font size = 2>'''Projects Screen - 2 : '''When user choose projects from the left bar, projects corresponding to chooses of a user appear on the right side.</font size>]]
[[File:Project Detail Screen.jpg|left|frame|<font size = 2>'''Project Detail Screen : '''When user clicks a project, all information comes up from the top from the page by sliding.</font size>]]
[[File:Search Screen.jpg|left|frame|<font size = 2>'''Search Screen : '''User can search projects by giving search criteria to the program. Corresponding result appears on the same side.</font size>]]
[[File:News Screen.jpg|left|frame|<font size = 2>'''News Screen : '''This screen shows the news page on the right side of the application. When user clicks, web view directs the page to the freelancer blog which contains current news in the freelancer world.</font size>]]
[[File:Accounts Screen.jpg|left|frame|<font size = 2>'''Accounts Screen : '''This shows user current login information to the provider website.</font size>]]
[[File:Settings Screen.jpg|left|frame|<font size = 2>'''Settings Screen : '''It gives ability to user in order to set settings especially just for push notifications at that time.</font size>]]
[[File:About Screen.jpg|left|frame|<font size = 2>'''About Screen : '''It gives information about the project and the team.</font size>]]

==Team Members==
*Yiğit ERSOYLU [mailto:yigit.ersoylu@gmail.com Email me]
*Kerim Ali YILMAZ [mailto:kerimaliyilmaz@gmail.com Email me]

Latest revision as of 21:26, 11 August 2013

Introduction

Project Scope

This project is intended to be a mobile application and especially just for iPad users. What we aim to do in this project is to focus on the need of an iPad application already exist as a website. Work-at-home scheme is one of the employment methods that have been around for decades. With this method, many people do their jobs in the comfort of their own homes. But there must be a way that gathers these people together and find a solution for each side both employer and employee. With the development of internet, people can easily find a job that is provided by various employers. There are many websites that aim to do this. Each of them has been focusing on the different type of employment such as in store marketing representative, business manager, product manager, graphic designer and many more. We are going to concentrate on to find a job for freelancer for the software development area such as computer programming, web design, website development and graphic design. As it is obvious, they are all related to computer stuff. But we should define the term ‘freelancer’ here. A freelancer is somebody who is self-employed and is not committed to a particular employer long term. Freelance practice varies greatly. Some require clients to sign written contracts, while others may perform work based on verbal agreements. The design of our program does not have to handle these kinds of practices. All these processes will be handled by the websites that we are going to use. In detail, we are going to use some well-known websites API to design our mobile application. These APIs allow developers to create new and innovative ways for freelancers, employers and even other software to interact with the largest global jobs marketplace. The API allows developers to utilize the entire functionality of these websites. What we are going to do with these APIs is to unite them and offer it in an iPad application. The main advantage of this idea, users don’t have to look for a job in these websites one by one. They will all be gathered in this application with a user-friendly way and without dealing websites complicated user interface.

Major Function

Login to each provider website

The first major function is login to the provider website via our application. Access to API resources requires authentication. These APIs are HTTP and XML based, using OAuth for authentication. OAuth is an open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications. The OAuth authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf.

Search Projects by Keywords

The second major function is search projects by keywords. This is done by user by entering keywords to the search box such as C++ programming, Android programming, javascript and many more. There will be also many other search options. Users can also define the status of the project, budget, and bidding end times.

Bid On Projects

The third major function is ‘bid on project’. The definition of the term bid, a bid price is the highest price that a buyer (i.e., bidder) is willing to pay for a good. It is usually referred to simply as the "bid." After freelancer decides to be involved in a specific project, it gives a bid. It means that I can do this project for this price. Of course, this price will be changed up to the ending time that is defined by the project owner. Freelancers must be awake of this situation and must regularly check that he is the highest bid owner if he really wants to have that project.

Communicate with Employer

The fourth major function is ‘communicate with employer’. With this feature, freelancer is able to send private message to the employer and get feedback. This also provides both employer and employee to work on the project efficiently. Freelancer can easily inform employers about the progress of the project, and the employers have chance to see the output of the project throughout the development of the project. This feature is also good for freelancer that he can easily communicate with employer, and indicates that he is able to do this project. This could be thought like an interview in real world. If the employer satisfies the ability of freelancer, he can give the project to him to develop it before the bidding time ends.

Accept the Project

The fifth major function is ‘accept the project’. After communicating with the employer, employer accepts to give the project to the freelancer with the specified bidding price.

Finish and Deliver Work

The sixth major function is ‘finish and deliver work’. When the project is done at the specified date that is defined at the beginning of the project, freelancer gives the complete work the employer.

Leave Feedback

The last major function is ‘leave feedback’. When employer and freelancer finish their work progress, they can leave a feedback. So their reputation can be easily viewed on public by other employers and freelancers. This makes easier for freelancer to get a job easily, and for employers to be trusted by the freelancer.

Interaction Overview

Screenshots of iFreelancer Application

Splash Screen : It welcomes the user with the name of application.
Initial Screen : In this page, you see the tabbar on the left side. Each of them has its own ability.
Projects Screen : This vertical bar shows you the projects from the websites we implemented when clicked “Projects” button.
Projects Screen - 2 : When user choose projects from the left bar, projects corresponding to chooses of a user appear on the right side.
Project Detail Screen : When user clicks a project, all information comes up from the top from the page by sliding.
Search Screen : User can search projects by giving search criteria to the program. Corresponding result appears on the same side.
News Screen : This screen shows the news page on the right side of the application. When user clicks, web view directs the page to the freelancer blog which contains current news in the freelancer world.
Accounts Screen : This shows user current login information to the provider website.
Settings Screen : It gives ability to user in order to set settings especially just for push notifications at that time.
About Screen : It gives information about the project and the team.

Team Members