Intelligent Job search

This document describes what “intelligent job search software application” is about.

This document describes a scenario + some technical details.

This document covers all major aspects of the prototype program.

However the prototype itself is very limited: only one user can use this project.

 

  1. Query www.dice.com (with “SQL” keyword, for instance).
  2. Get HTML response from Dice.
  3. Parse HTML response and find URLs to job-dice-pages.
  4. For every job-dice-page:
    1. Get HTML response from a job-dice page.
    2. Save the text of the job-dice-page into database
      IncomingPosition table

Field

Type

Description

IncomingPositionId

Int

Primary Key

URL

VarChar(200)

URL of the job position

PositionSourceText

VarChar(8000)

Text with description of the position

CurrentRating

Float

This field is regularly recalculated according to the user’s keyword preferences

CreationDate

DateTime

The moment when this page was read from Dice

HumanOperatorRating

Byte

Indicates how this job was rated by the end user (JobSeeker)

 

 

    1. Show first job to the user (JobSeeker).

                                                               i.      Show subject of outgoing email.

                                                             ii.      Show cover letter of outgoing email.

                                                            iii.      Show destination email address.

    1. JobSeeker drag-n-drops bad word(s) to the special “negative words” textbox.

                                                               i.      Word is saved into “Keyword” table. Negative value is assigned to “Value” attribute of this keyword. If keyword already exists in the table then “Value” attribute is decreased.

    1. JobSeeker drag-n-drops good words to the special “positive words” textbox.

                                                               i.      Word is saved into “Keyword” table. Positive value is assigned to “Value” attribute of this keyword. If keyword already exists in the table then “Value” attribute is decreased.

                                                             ii.      Positive words are saved into user’s cookies. These words are used to prepare cover letter.

    1. JobSeeker rates the job position. In order to do this, JobSeeker clicks one of these buttons:

                                                               i.      Very good (+2)

                                                             ii.      Good (+1)

                                                            iii.      So-so (0)

                                                           iv.      Bad (-1)

                                                             v.      Very bad (-2)

    1. All keywords which exist in this message are changed according to the button’s value (-2, -1, 0, +1, +2).
    2. If the rating is “Very good”, “Good”, or “So-so” then message is saved into Outgoing messages table.

Field name

Type

Description

OutgoingMessageId  

Int

Primary key

IncomingPositionId

Int

Foreign key

PreparationDate

DateTime

Date and time when JobSeeker rated the message

MessageText

VarChar(8000)

Whole

Email

VarChar(50)

Email address of destination

IsSent

Bit

Indicates whether this message was already sent (1 – was sent, 0 – wasn’t sent)

 

    1. The incoming job position is marked as “handled”.
    2. IncomingPosition.HumanOperatorRating is set
    3. The job position is marked as “retrieved”.
  1. JobSeeker clicks “Resort” button.
    1. All job positions are machine-rated according to JobSeeker’ preferences.
    2. All unhandled job positions are sorted according to the rating.
  2. Web sites shows to JobSeeker next top-rated job position.
  3. Eventually JobSeeker clicks “Send prepared emails”. All emails are sent to the addressees. “IsSent” flag is set.