Plan the Job Site

Before you start building this application, make sure you have a correctly configured Dreamweaver site, and a working database connection. For more instructions regarding these actions, consult the Getting started help file, which can be found in Help -> InterAKT -> Getting Started.

Through the tutorial, you will have to create several files and folders in your site's root. You can create them at the very beginning, so that you will not waste time with this operation again. To create files and folders in the site's root, use the corresponding options in the File menu of the Files tab.

The file structure will look as in the example below, and you can create it easily by unpacking the zip file corresponding to your server model from \tutorials\Job Site\ in your site root:

 

Note that some of the files seen in this structure already contain some data (e.g. links and other non-dynamic content) to ease following the tutorial (the index files), while other are automatically generated by some of the commands used, and thus, are missing from the zip file (e.g. activation, forgot_password). Here's a short description of each page:

 

After having created the files for your pages, it is time to set up the database that will hold the information to display. For this tutorial, you will use several tables, containing various data regarding the companies, users, and job ads. Aside the main tables, you will use some tables to store additional data. The tables are:

  1. company_com -  to store the company main information.
    · id_com - the primary key for the company table. No two companies can have the same ID.
    · idusr_com - a foreign key to the company's entry in the users table. Login and access restrictions are stored there.
    · name_com - the company's name (Amazon, Best Buy etc.)
    · address_com - stores the company address (123 Main St, Cleveland, OH).

  2. user_usr -  stores the user data: e-mail, password etc.
    · id_usr - the primary key for the user table. No two users can have the same ID.
    · password_usr - stores user password.
    · active_usr - a boolean variable (Y/N) based on whether the user account is active or not.
    · level_usr - either a 1 or a 0 depending on whether the user is a company or an applicant.
    · email_usr - the email address of the user (john_smith@noplace.org).

  3. job_job - stores job related information: job title, type, domain, salary, deadline etc.
    · id_job - the primary key for the job table. No two jobs can have the same ID.
    · idcom_job -  a foreign key to the company table. Stores which company has posted the job.
    · iddom_job - foreign key to the domain_dom table; the domain refers to the category of the job (Finance, Sales, Technology etc.).
    · idloc_job - foreign key to the location_loc table; stores the location of employment offering.
    · title_job -  the job title (Developer, Manager etc.).
    · type_job -  the job type can refer to the duration or hours involved (Full-time, Part-time, Contract etc.).
    · salary_job -  stores the salary amount.
    · deadline_job - a date by which the applicant must apply.
    · detail_job - some additional text information about the job (education, specific skills etc.).

  4. resume_rsm -  stores user's resumes, with name, phone, photo etc.
    · id_rsm - stores the primary key for the resume table. No two resumes can have the same ID.
    · idusr_rsm - a foreign key to the users table. Keeps track of who the resume belongs to.
    · name_usr_rsm - stores an applicant's first and last names.
    · phone_usr_rsm - applicant's phone number.
    · photo_usr_rsm - can store an image of the applicant (field is optional).
    · file_rsm -  stores the resume file.
    · pref_domain_rsm -  the preferred job domain (Finance, Technology etc.).
    · pref_location_rsm -  the applicants preferred location (a city name).
    · pref_salary_rsm -  the preferred salary from the applicant's registration input.

  5. job_user_jbu -  table to link users and jobs, with multiple users being able to apply for multiple jobs.
    · id_jbu - the primary key for the job user table. Every time an applicant applies for a job, a new job_user record is stored.
    · idrsm_jbu - foreign key to resume table.
    · idjob_jbu - foreign key to job table.
    · date_jbu - the date of application.

  6. location_loc -  table to store available job locations.
    · id_loc - the primary key for the location table. No two locations can have the same ID.
    · name_loc - the location name, usually a city (Rome, Chicago etc.).

  7. domain_dom -  stores job ad domains.
    · id_dom - primary key for the domain table. No two domains will have the same name.
    · name_dom - the domain name (Finance, Technology etc.).

  8. cover_cvr - stores the users' cover letters.
    · id_cvr - the primary key.
    · idusr_cvr - a foreign key to the users table. Keeps track of who the cover letter belongs to.
    · letter_cvr - stores the cover letter filename so that it can be retrieved quickly.

  9. subscribe_sub - table to store user subscription to receive ads by e-mail.
    · id_sub - stores the primary key for the subscription table.
    · idusr_sub - a foreign key to the users table. Keeps track of who the subscription belongs to.
    · type_sub - the preferred job type.
    · iddom_sub - foreign key to the domain table, stores the preferred domain for the job.
    · location_sub - preferred job location.
    · minsal_sub -  the minimum desired salary.

 

Below is a layout of the database tables:

 

Note: The database diagram in the image above was built with MX Query Builder (also referred as QuB) to better illustrate the database structure. You do not need to build it in order to complete this tutorial.

 

You can find the scripts needed to create an identical table structure inside the downloaded package, in the \tutorials\Job Site\db\ folder, as an sql or mdb file, depending on the database server you intend to use. Import them in your database server management software (e.g. PHPMyAdmin, Microsoft Access etc.).

The scripts come with some sample data that you can use to quickly view the results. The account data you need to login are:

Open the main index page and create a new connection named connJobs and configure it to connect to your newly created database:

 

The index page already contains links that allow company and user registration, as well as a link to the login page. You do not have to alter these links as this is not the scope of this tutorial.