Dev 1220 backend integration examples laravel symfony nest js express with docker compose#33
Conversation
…xpress with Docker Compose
…xpress with Docker Compose
…xpress with Docker Compose
✅ Deploy Preview for handsontable-examples canceled.
|
✅ Deploy Preview for handsontable-examples canceled.
|
| title: 'Row added', | ||
| message: `Created ${data.length} row${data.length !== 1 ? 's' : ''}`, | ||
| duration: 3000, | ||
| }); |
There was a problem hiding this comment.
Frontend crashes accessing .length on null response
High Severity
The store method in ProductController.php returns response()->json(null, 201), meaning res.json() in the frontend resolves to null. The onRowsCreate callback then accesses data.length on this null value, causing a TypeError at runtime every time a row is created.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 35f88a8. Configure here.
…xpress with Docker Compose
…xpress with Docker Compose
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
There are 3 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 9ef33c1. Configure here.
| @echo "==> Installing frontend dependencies..." | ||
| cd frontend && npm install | ||
| cd frontend-angular && npm install | ||
| cd frontend-react && npm install |
There was a problem hiding this comment.
Makefile setup skips Angular and React build steps
High Severity
The setup target runs npm install for Angular and React frontends but never runs their build or watch scripts before starting Vite. Vite's middleware serves pre-built output from frontend-angular/dist and frontend-react/dist, returning HTTP 503 when those directories are missing. Unlike setup.sh, which runs npm run build and npm run watch & for both, make setup leaves /angular.html and /react.html broken.
Reviewed by Cursor Bugbot for commit 9ef33c1. Configure here.
| serializer.is_valid(raise_exception=True) | ||
| serializer.save() | ||
| # Return created rows so dataProvider can update its row map with server-assigned ids. | ||
| rows_amount = max(1, int(request.data.get('rowsAmount', 1))) |
There was a problem hiding this comment.
create_rows crashes on null rowsAmount value
Low Severity
int(request.data.get('rowsAmount', 1)) crashes with TypeError when the client sends "rowsAmount": null in JSON, because .get() returns None (the key exists) and int(None) raises TypeError. This produces a 500 instead of a useful validation error. A guard like int(request.data.get('rowsAmount') or 1) would handle the null case.
Reviewed by Cursor Bugbot for commit 9ef33c1. Configure here.
…xpress with Docker Compose


Backend integration examples — Django, Laravel, NestJS, Rails, Spring, Symfony with Docker Compose
Note
Medium Risk
Medium risk because it changes the Django batch CRUD API contract (
create-rows/update-rows) and setup flow, which can break existing clients if they still send the old request shapes.Overview
Adds Angular and React variants to the Django server-side example and updates the tooling/docs so
make setupinstalls all three frontends and the Vite dev server serves/angular.htmland/react.htmlalongside the JS version.Updates the Django batch mutation endpoints to match the newer Handsontable
dataProviderpayloads:create_rowsnow createsrowsAmountblank employees viabulk_create, andupdate_rowsnow appliesrow['changes']instead of the full row payload. Also removes the deprecated Composeversionfield and ignores.claude/in.gitignore.Reviewed by Cursor Bugbot for commit 3473424. Bugbot is set up for automated code reviews on this repo. Configure here.