Our final proof of concept is a result of a number of iterations from our initial proof of concept, starting from capturing the initial requirements and learning the necessary tools. This includes learning the basics of API, Python, Django framework and MySQL database.
Iteration 1
After capturing initial requirements from our clients, we started learning the basics of API, Django and MySQL database system. We decided to implement LinkedIn API to extract users data as LinkedIn is the most universal platform for recording a person’s past achievements and records.
Iteration 2
Having learnt the basics of the tools we will be using, we then set up a Django test website for testing purposes in future, implemented LinkedIn API to extract a user’s profile fields from LinkedIn and connected the localhost to our MySQL database.
Iteration 3
one of the main requirements by clients was to extract the user’s skills and of those which were endorsed by other LinkedIn users. This scope of data is part of the LinkedIn additional data and it requires formal application to LinkedIn. We attempted to request for this set of data by writing in a formal request to LinkedIn through the ‘Apply with LinkedIn’ (https://developer.linkedin.com/docs/apply-with-linkedin) twice but our request was rejected. Our client then tried applying too but to no avail.
Iteration 4
To solve the problem of not having any database about the students’ skills, we wrote PHP files to run MySQL queries to upload CSV files (containing skills and other useful data) and save them in the MySQL database.
Iteration 5
As an additional requirement, we wrote PHP files to run MySQL queries to allow the exportation of data from the database to either CSV files or JSON objects.
Iteration 6
Our clients initially wanted us to post back many data from the user’s Placed accounts to his/her LinkedIn accounts. This includes projects completed and skills endorsed by other Placed users. However, we realised that LinkedIn is very strict in terms of posting data back to the platform. Posting data from external sources might require many layers of application, just like the issue we faced in Iteration 3.
Iteration 7
After extensive research about the LinkedIn API, we found out that LinkedIn allows companies on LinkedIn to issue certificates for users to post them on their profile. Through the “Add to LinkedIn for Certificates” programme, Placed can issue certificates for students upon completion of projects to showcase them on their LinkedIn profile. As this feature can only be used by companies which set up their page on LinkedIn, it proves the authenticity of the certificate and projects.
Future Collaboration
Extraction of data from Moodle and Iris
For the time being, we have only created the REST API to work with LinkedIn in our website. In future, we can explore the opportunity to pull in data from other sources. Our team has researched on the possible scalability in this area and has identified some sources that can be the potential targets for the future collaboration, for instance Moodle and Iris. These two platforms have a rich database full of students' data and will serve as good sources for Project Placed.
Automating the Generation of License Number
We have created a function where academics fill in the project details and generate a license number after the students have completed a project. This license number will serve as a certificate to prove that the students were part of the project and allow the academics and companies to track the student’s project easily. For instance, the license number “15042016GOL1” represents the date of the completion of project, student’s surname and index respectively. Due to time constraints, our team could not automate the whole process. Hence, this could be an area to further investigate in order to improve the generation of license number.
Automating the Calculation of Placed Score
At the moment, the calculation of Placed Score is not implemented in our system, however, our team has designed an idea to implement this process. The Placed Score will be divided into four main categories which is the consistency of the student’s performance, completion of project, soft skills and technical skills. These four elements with different weighting will be calculated automatically through the system after the academics has input the result. The Placed Score will then serve as the final result of the project and get published to the student’s profile.
Project Placed. Systems Engineering Project Group 17.