Laravel dashboard for puppeteer
Budget: $750 – $1,500 USD
I am looking for a laravel developer to create a puppeteer admin panel. Whole thing needs to be in bootstrap can use inertia or livewire don't really care about it being reactive as long as it works on mobile. We will use jetstream for user authentication and teams management. Its mostly a crud app and will need a restful api for each of the below resources.
Requirements
# Tasks
- a task is a puppeteer script that is ran as a once off or on schedule.
- needs migration and model with values team id, name, code, timestamps
- needs api to create, list tasks, edit and delete.
- needs ui for crud with js in codemirror with line numbers and highlighting
# Scheduled
- user can schedule a task to run, they set the time of day to run or how many minutes to wait between runs, user selects what days of the week to run.
- needs migration and model with values name, task id, type (repeats, once), run at, run every, mon, tue, wed, thu, fri, sat, sun, timestamps
- needs api to create, list scheduled tasks, edit and delete.
- needs ui for crud
# Queue scheduler
- use laravel scheduler to check the scheduled table for tasks we should queue, tasks can also be queued by the user clicking run now button on a task.
- use laravels queues and jobs. when a job is created it creates a run report thats attached to it and an api key
- laravel worker pulls tasks from the queue it boots up a docker container with pupetter and passes the run report id and api key.
- laravel worker times the container if it is longer than 5 minutes it gets killed.
- when docker finishes laravel worker logs the total time taken in seconds and adds that on to the teams used credits.
# puppeteer docker
- create a docker container that has puppeteer.
- container should take an api key and run id.
- container connects to a restful api on the main site with key and run id to get the script and options.
- container creates a fake console.log that posts the log to the main site with the run id and key.
- container wraps all the js in try catch and logs any errors and succss of the script.
- container runs the js it got from main site.
# Run Reports
- needs migration and model with values name, task id, options, status (queued, in progress, success, fail), run time, timestamps
- needs api to list reports and view.
- needs ui to list and view reports, report view should show all logs for that run.
# Run Logs
- needs migration and model with values task id, run report id, key 20bytes, type (string, int), value string, value int, created timestamp
- needs api to get logs, should be queryable by task id, run report id, key and date ranges.
- needs api to post logs
Thank you to all potential prospects. Please setup a meeting on zoom if you would like to discuss the project in person https://ngxpls-acprod.asynccomm.zoom.us/appointments/Ym53cno2YTNyYWM3cWpvemt0NmpxcUBzY2hlZHVsZXIuem9vbS51c3w0aHM1dWJkaGNzbnVoc3JjMTZqZ2RjejVjMA==
Requirements
# Tasks
- a task is a puppeteer script that is ran as a once off or on schedule.
- needs migration and model with values team id, name, code, timestamps
- needs api to create, list tasks, edit and delete.
- needs ui for crud with js in codemirror with line numbers and highlighting
# Scheduled
- user can schedule a task to run, they set the time of day to run or how many minutes to wait between runs, user selects what days of the week to run.
- needs migration and model with values name, task id, type (repeats, once), run at, run every, mon, tue, wed, thu, fri, sat, sun, timestamps
- needs api to create, list scheduled tasks, edit and delete.
- needs ui for crud
# Queue scheduler
- use laravel scheduler to check the scheduled table for tasks we should queue, tasks can also be queued by the user clicking run now button on a task.
- use laravels queues and jobs. when a job is created it creates a run report thats attached to it and an api key
- laravel worker pulls tasks from the queue it boots up a docker container with pupetter and passes the run report id and api key.
- laravel worker times the container if it is longer than 5 minutes it gets killed.
- when docker finishes laravel worker logs the total time taken in seconds and adds that on to the teams used credits.
# puppeteer docker
- create a docker container that has puppeteer.
- container should take an api key and run id.
- container connects to a restful api on the main site with key and run id to get the script and options.
- container creates a fake console.log that posts the log to the main site with the run id and key.
- container wraps all the js in try catch and logs any errors and succss of the script.
- container runs the js it got from main site.
# Run Reports
- needs migration and model with values name, task id, options, status (queued, in progress, success, fail), run time, timestamps
- needs api to list reports and view.
- needs ui to list and view reports, report view should show all logs for that run.
# Run Logs
- needs migration and model with values task id, run report id, key 20bytes, type (string, int), value string, value int, created timestamp
- needs api to get logs, should be queryable by task id, run report id, key and date ranges.
- needs api to post logs
Thank you to all potential prospects. Please setup a meeting on zoom if you would like to discuss the project in person https://ngxpls-acprod.asynccomm.zoom.us/appointments/Ym53cno2YTNyYWM3cWpvemt0NmpxcUBzY2hlZHVsZXIuem9vbS51c3w0aHM1dWJkaGNzbnVoc3JjMTZqZ2RjejVjMA==