- Add Dockerfile with root user for simplified deployment
- Add docker-compose.yml for local development
- Add docker-compose.prod.yml for production deployment
- Add start.sh script for container initialization
- Fix page caching: add dynamic rendering to all pages
- Update database initialization to handle permissions
- Update README with deployment instructions
This is the first fully functional version with Docker support.
No manual permission setup required on deployment.
Wrap edit and delete buttons in a flex container so they appear
next to each other instead of spread apart.
🤖 Generated with [Qoder][https://qoder.com]
Users can now edit battery group counts and notes via an edit button on
each battery card. The edit modal allows updating available count,
charging count, and notes.
Changes:
- Create EditBatteryModal component
- Add edit button (pencil icon) to BatteryCard
- Uses existing PATCH /api/batteries/[id] endpoint
🤖 Generated with [Qoder][https://qoder.com]
When adding batteries with the same brand-type-chemistry combination as
an existing group, the quantity is now added to the existing group instead
of failing with a duplicate error.
Changes:
- Update POST /api/batteries to check for existing group and upsert
- Add isNew flag to API response for UI feedback
- Update AddBatteryModal to show contextual success message
- Document upsert behavior in FSD.md and TSD.md
🤖 Generated with [Qoder][https://qoder.com]
Battery groups are now identified by a 3-element combination: brand, type,
and chemistry (NiMH, Li-ion, LiFePO4, etc.) instead of just brand and type.
Changes:
- Add chemistries table with default values
- Update battery_groups schema with chemistry_id foreign key
- Create /api/chemistries endpoint for CRUD operations
- Update UI components to display and select chemistry
- Update documentation (FSD.md, TSD.md)
🤖 Generated with [Qoder][https://qoder.com]