Back to all jobs
Freelance Full-Stack Developer (Vue JS/PHP) Remote Project in Romania

Freelance Full-Stack Developer (Vue JS/PHP) Remote Project in Romania

  • 27 August 2019
  • 1 position

Unfortunately, this offer is no longer available. More job offers !

Company Description

Our client is an experienced market research company focused on innovation trough experience. Our core values: customer experience, data quality, customization, digitalization and correct pricing. His research methods are developed in-house, using a mix of cutting-edge technology and an innovative approach.

Freelance Full-Stack Developer ( Vue JSPHP) Remote Project in Romania

Mission Description

Our client is looking for a Freelance Full-Stack developer (Vue JS/ PHP) to help with coding a PHP script that can import a CSV file and let the user assign columns to CSV fields, using a combination of Directus API (headless CMS & API system), VueJS (used in Directus Backend) and PHP.

This is just a module from a larger project that we’re working on and it would be very useful if you could send me a proper quote.

Description follows:

The client is working with 2 tables, one called subscriber and one that’s called subscriber_custom_fields.

Table structure is:

– subscriber:

  • subscriber.email
  • subscriber.country
  • subscriber.city
  • subscriber.tags
  • subscriber.custom_fields (JSON value)

– subscriber_fields

  • subscriber_fields.name
  • subscriber_fields.description
  • subscriber_fields.type (number, date, countdown, text)

The import script should have the following functionality:

0. A new panel / extension is created into Directus Backend. When accessed, here’s what the admin should see.

1. Admin is presented with a upload box / dropbox for a CSV file. As soon as the file is dropped into the magic box, a PHP script reads the file and processes column names, adding them into an array and displays them via VueJS (integrated into Directus Backend).

2. After reading the column names from the CSV, the script reads all the table column names from the tables `subscriber` and `subscriber_fields` using the Directus API. It concatenates them in a long array and then displays a selector with all the CSV column names and corresponding column names from our tables. Each column name from the CSV must be followed by a smart selector like we have here https://vuejs.org/v2/examples/select2.html.

  • 2.1. If I write a name in this selector that can’t be found in the Smart Dropdown, then add the name written into `subscriber_fields.name` and add / update that column name into `subscriber.custom_fields`.
  • 2.2. Each CSV column to field selector should contain an Ignore value.
  • 2.3. If tags is selected as a field for one of the CSV columns, then the tags list should be appended.

3. After Admin selects all the corresponding fields for the CSV, the script should do an API call to add / update the subscribers, bearing in mind that the `subscriber.custom_fields` is a JSON value.

This script should function as an extension to Directus, the platform being used for the backend, and for the API platform. All functions should use the API, and the script should also function with an OAuth call when calling the API. Another thing worth mentioning, is that it should have a resume functionality. This is needed in case the script stops processing because of timeouts.

The second part of this module is a webhook, that can accept JSON / Form Post or GET with Query Variables. The add / update functionality should be identical to the first part, and the response of this webhook should be a JSON object with the latest `subscriber` data or detailed error.

Required Skills

  • Freelance Full-Stack –  Vue JS/ PHP 7;
  • Directus CMS;
  • REST API / JSON.

Using our SkillValue tool, you can now test your skills as a Freelance Full-Stack Developer ! Check out our platform !

Unfortunately, this offer is no longer available.