Build a website where users (students) can share their CV with employers. All CV data should be stored in a database.
You are required to create the following accounts to allow the system to be tested. All accounts should have the password p455w0rd
:
student1
student2
student3
student4
All the student should have a valid CV on the system.
The core functionality consists of three screens.
The home screen should be visible whether a user is logged in or not and display a grid showing all the CVs in the system. For each it should display:
- The person's name.
- A thumbnail photo.
- The short summary only.
- The last time the CV was updated ( using the DD/MM/YYYY format).
Clicking on one of the summaries should load the full CV including:
- The person's name
- The profile picture
- A multiline summary paragraph for displaying on the home page
- A detailed, multi-line, formatted description of their qualifications
- A detailed, multi-line, formatted description of their skills.
- The last time the CV was updated ( using the DD/MM/YYYY format).
If a student
is logged in they should see a My CV link or button that allows the currently logged-in user to add or update their own CV which should include all the data listed in part 2 above.
Every time the student
changes their CV this should update the last-modified date.
The intermediate tasks require you to make changes to the functionality:
- When a user is browsing the CVs, the page that displays the full CV should have a button that allows them to contact the CV owner. This should take them to a screen that contains multiline input box that allows them to create a formatted message. Clicking the send button should send an email to the CV owner that includes this message as well as the name and email of the person sending it.
- At the bottom of the CV details page there should be a print button that converts the CV into a professionally-formatted PDF document and downloads this.
- Finally we will refine the contact feature so that users can click on a link to provide access to their complete CV.
- When a user clicks on the 'contact' button:
- Their name and employer should be added to a list visible to the other user.
- A user has access to a page containing a list of users who have clicked their button.
- Next to each button there is a 'release CV' button.
- Clicking this button sends an email to the user and when they view the CV in future they can see all the fields including personal details.
In some assignment briefs you are given marks for the appropriate use of media and using sensors built into the user's device.
In some assignment briefs you are given marks for the appropriate use of sensors and sensor data. You should be implementing:
- When a photo is requested, the user should have access to the device camera (if available).
- When a user edits their profile page and CV there should be a set home button that captures the current geo-location and stores in in their profile.
- When browsing CVs they should appear in the list with the nearest at the top.
- The user should be able to see matching CVs on a map:
- Clicking a pin show the student name and photo in a callout.
- Clicking this bubble should take the person to the CV page.
In the requirements listed above you need to provide the user with the ability to upload photos. For the extra media marks you will need to expand this by:
- Providing the user with the choice of uploading photos, video clips or audio clips.
- Giving users the option to directly capture images, audio and video clips using the built-in camera and/or microphone if available.
There are lots of online RESTful APIs you can make use of when developing this system. You should consider: