Skip to content
afcelimli edited this page Jan 7, 2019 · 5 revisions

MANUAL

USER MANUAL

  • 1. When visitor entered the website he/she can only see the homepage.
  • 2. Visitor must sign up at first visit.
  • 3. After signing up, the system automatically send user to profile page to introduce himself/herself. At the profile page users can only write one tag for now.
  • 4. After editing the profile, user can see what is going on in the platform by clicking dashboard.
  • 5. Dashboard page changes according to user's current profile.
    • 5.1 A client see his/her ongoing projects, his/her currently unaccepted projects and recommended freelancers.
    • 5.2 If the user is a freelancer dashboard page is more complex. A freelancer can see recommended projects according to his/her skills. Freelancer can see his ongoing project, the projects that he placed a bid on, new projects and trending projects.
  • 6. At dashboard page, there are three main possible route for a client.
    • 6.1 Client can click on create project button and can start his/her project.
      • 6.1.1 When client clicked on this button, he/she is directed to another page where he/she can give details about the project. Client can add tag(only one for now), specify location from map and add files about the project. After giving these information user clicks on post project button.
      • 6.1.2 After creating the project, user is directed to another page where he/she can see the details of his/her project. Client can see the details of bids that are placed by freelancers. Client can also delete the project from this page.
    • 6.2 Client can click on all project button and can see all projects in the system.
      • 6.2.1 When client clicked on this button, he/she can see all projects in the system. Moreover client can filter projects according to their price and sort them according to their price, deadline and publishing date.
    • 6.3 Client can click on go to profile button and can see profile details of recommended freelancers.
      • 6.3.1 When client clicked on this button, he/she can see the details of the freelancer. Furthermore, client can comment on the freelancer's profile.
  • 7. At dashboard page, there are two main possible route for a freelancer.
    • 7.1 Freelancer can click on go to project button and can see the details of the project. At this point freelancer can bid on the project.
      • 7.1.1 When freelancer clicked on the bid for project button, there is a new part on the page appears. Freelancer can describe the details of his/her bids and milestones.
    • 7.2 Freelancer can click on all project button and can see all projects in the system.
      • 7.2.1 When freelancer clicked on this button, he/she can see all projects in the system. Moreover freelancer can filter projects according to their price and sort them according to their price, deadline and publishing date.
  • 8. When a client and a freelancer are agreed on a project they can see the progression page.
  • 9. Users can deposit money to their wallet by clicking the settings button at the navigation bar.
  • 10. Users can use search box and semantic search box to get related results about their search.
  • 11. Users can switch between their client and freelancer profile by clicking the client/freelancer buttons at the navigation bar.
  • 12. Users can log out from the system by clicking the rightmost symbol at the navigation bar.

SYSTEM MANUAL

BACKEND

  • 1. The requirements for backend are listed below:
coverage==3.6  
defusedxml==0.4.1  
Django==2.1.2  
django-cors-headers==2.4.0  
django-filter==2.0.0  
django-tastypie==0.14.2  
djangorestframework==3.8.2  
lxml==3.2.3  
Pillow==5.3.0  
python-dateutil==2.7.5  
python-mimeparse==1.6.0  
pytz==2018  
six==1.12 
  • 2. To install backend, you should run the following commands:

Enter correct directory

cd bounswe2018group10/application/backend

Create a virtual environment*

virtualenv myvenv

Activate virtual environment

source myvenv/bin/activate

Enter project directory

cd freelancer-project

Install requirements

pip install -r requirements.txt

Create an empty database

python manage.py migrate

Run server

python manage.py runserver

You can access the server via http://localhost:8000/

#### Important Notes Creating a virtual environment isn't mandatory but it is highly recommended. If you don't have it on your computer, you can download it with ```pip install virtualenv``` command. If you don't use just skip 2nd and 3rd steps. If you have both 2nd and 3rd version of python in your computer, you should use ```pip3``` and ```python3``` commands all the time. However if you download in virtual environment using python and pip is fine. But be careful, you should still use ```pip3``` for installing virtualenv.

FRONTEND

  • 1. The npm requirements for frontend are listed below:
"dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.12",
    "@fortawesome/free-solid-svg-icons": "^5.6.3",
    "@fortawesome/vue-fontawesome": "^0.1.4",
    "axios": "^0.18.0",
    "bootstrap-vue": "^2.0.0-rc.11",
    "croppr": "^2.3.1",
    "lodash.debounce": "^4.0.8",
    "v-calendar": "^0.9.7",
    "vue": "^2.5.21",
    "vue-awesome-swiper": "^3.1.3",
    "vue-moment": "^4.0.0",
    "vue-router": "^3.0.2",
    "vue2-editor": "^2.6.6",
    "vue2-google-maps": "^0.10.5"
}
  • 2. To install frontend, you should run the following commands:

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your tests

npm run test

Lints and fixes files

npm run lint
Clone this wiki locally