[Individual Developer Needed, not Company] API Driven Analytics platform for CDN Data based on Snowflake using PHP, Chart.JS and using MySQL as the inital database
Budget: $750 – $1,500 USD
Skills Required:
- Experience with using Snowflake and Snowflake API.
- Strong MySQL and SQL syntax and building complex SQL queries.
- Strong PHP experience building REST APIs and working with MySQL databases using PDO queries.
- Strong HTML/JS experience in building responsive single page app
- Working knowledge of using Chart.JS charting software to produce charts and tables using JSON data
Estimated time to complete:
- 10 working days or 2 weeks.
What data do we have now:
The data 2 of the 3 Content Delivery Networks (CDNs) are accessible via API calls which needs to be run via PHP/MySQL script on a CRON job. This data needs to be parsed and dumped in a MySQL Table, with smart tracking of user session IDs to update duration of stream viewed.
The data from our own CDN is already in MySQL but still needs to be parsed via PHP/MySQL script to then be placed in the new updated table format that is to be synced to Snowflake.
What is the end product envisoned:
When an end user wants to get analytics for their streaming TV Channel, or their past Live Event, the system should query the data on Snowflake and return quickly, the data needed and the relevant charts and graphs are displayed to the user. The user can adjust the query by selecting different controls in the frontend application e.g., date range, content type, content ids and the type of graphs/charts they are interested in.
What is required by the developer to make this happen:
- Capture the logs in a standardized table for each content type. Done by writing PHP scripts and setting them to be run on a CRON Job.
- Make sure the sessions IDs are tracked and the durations and end datetime updated. Also done via script and CRON Job.
- Develop queries that accepts the inputs specified in the example above and gives the output data in JSON so that the charting software can use to build the charts.
- Optimize the queries if possible.
- Develop the APIs that the frontend application will use to query Snowflake to get data in JSON
- Develop the responsive HTML/JS web app that takes the snowflake JSON data and produces the relevant graphs and charts, as per the selection of the user on the frontend application.
- Ensure the graphs/charts are exportable to PDF, and that the PDF is labelled with titles, explaining what the export is about.
The hiring company, me, will take care of hosting the PHP scripts, setting up the CRON Job, backing up the database before work is done and finally automating the synchronization with Snowflake the tables identified.
The frontend application will also be built by SIBER so its only the REST API that needs to be developed, the SQL queries that run on snowflake API and the charts/graphs to be iframed in the frontend application.
Attached are the supporting documents. 1 that descibes the project in detail and the other describes the data points to be used to build the charts/graphs.
- Experience with using Snowflake and Snowflake API.
- Strong MySQL and SQL syntax and building complex SQL queries.
- Strong PHP experience building REST APIs and working with MySQL databases using PDO queries.
- Strong HTML/JS experience in building responsive single page app
- Working knowledge of using Chart.JS charting software to produce charts and tables using JSON data
Estimated time to complete:
- 10 working days or 2 weeks.
What data do we have now:
The data 2 of the 3 Content Delivery Networks (CDNs) are accessible via API calls which needs to be run via PHP/MySQL script on a CRON job. This data needs to be parsed and dumped in a MySQL Table, with smart tracking of user session IDs to update duration of stream viewed.
The data from our own CDN is already in MySQL but still needs to be parsed via PHP/MySQL script to then be placed in the new updated table format that is to be synced to Snowflake.
What is the end product envisoned:
When an end user wants to get analytics for their streaming TV Channel, or their past Live Event, the system should query the data on Snowflake and return quickly, the data needed and the relevant charts and graphs are displayed to the user. The user can adjust the query by selecting different controls in the frontend application e.g., date range, content type, content ids and the type of graphs/charts they are interested in.
What is required by the developer to make this happen:
- Capture the logs in a standardized table for each content type. Done by writing PHP scripts and setting them to be run on a CRON Job.
- Make sure the sessions IDs are tracked and the durations and end datetime updated. Also done via script and CRON Job.
- Develop queries that accepts the inputs specified in the example above and gives the output data in JSON so that the charting software can use to build the charts.
- Optimize the queries if possible.
- Develop the APIs that the frontend application will use to query Snowflake to get data in JSON
- Develop the responsive HTML/JS web app that takes the snowflake JSON data and produces the relevant graphs and charts, as per the selection of the user on the frontend application.
- Ensure the graphs/charts are exportable to PDF, and that the PDF is labelled with titles, explaining what the export is about.
The hiring company, me, will take care of hosting the PHP scripts, setting up the CRON Job, backing up the database before work is done and finally automating the synchronization with Snowflake the tables identified.
The frontend application will also be built by SIBER so its only the REST API that needs to be developed, the SQL queries that run on snowflake API and the charts/graphs to be iframed in the frontend application.
Attached are the supporting documents. 1 that descibes the project in detail and the other describes the data points to be used to build the charts/graphs.