Commit Graph
28 Commits
Author SHA1 Message Date
michaelschal bf09dcb56b Fix administrator access and improve production deployment reliability
Corrects admin role inconsistencies and updates routes to use 'administrator' role.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 4b008663-bd72-492b-b0b6-fa252367e730
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/4b008663-bd72-492b-b0b6-fa252367e730/9GNa2aH
2025-07-19 14:44:26 +00:00
michaelschal 58d8c7a449 Improve data handling and fix import issues, enhancing system stability
Fixes PostgreSQL SSL config, corrects backup import timestamp conversion, and adds log file.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 4b008663-bd72-492b-b0b6-fa252367e730
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/4b008663-bd72-492b-b0b6-fa252367e730/0Ex3Oj1
2025-07-19 14:38:37 +00:00
michaelschal a939b1068d Update the application's production environment for enhanced performance
Refactors the Docker setup, upgrades Node.js and PostgreSQL versions, and improves security.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 4b008663-bd72-492b-b0b6-fa252367e730
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/4b008663-bd72-492b-b0b6-fa252367e730/6nnsA2m
2025-07-19 13:46:47 +00:00
michaelschal 0821b70b7d Restored to '3891ae828b859a29b86a84154ffef43740610335'
Replit-Restored-To: 3891ae828b
2025-07-19 12:37:14 +00:00
michaelschal b2ee16b1c3 Enhance backup and restoration with SQL format for improved data integrity
Migrates backup/restore from JSON to SQL using pg_dump/psql, updating the admin UI and scheduler.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: e80fed01-7137-4997-b9af-dad57132d430
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/e80fed01-7137-4997-b9af-dad57132d430/e5OOjbh
2025-07-19 12:25:38 +00:00
michaelschal e91b8f1a8b Enable support for multiple products within a single sale
Implements multi-product sales functionality by adding a `sale_products` table, updating the sales form, and modifying server-side logic.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: e80fed01-7137-4997-b9af-dad57132d430
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/e80fed01-7137-4997-b9af-dad57132d430/58t7aEc
2025-07-19 10:10:41 +00:00
michaelschal 9d973c12e4 Ensure photo capture and submission process is fully functional
Remove debug logs, update field mapping, and verify photo capture works correctly.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/ce49b69a-6c08-46b0-9012-fdaae8591d14.jpg
2025-07-11 19:03:05 +00:00
michaelschal 58d24e0cfb Add debugging information to track down missing sales ticket photos
Adds console logs to inspect request body and identify missing photoTicket data during sales creation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/4099a3be-c3a6-4039-915b-a1ce8a3727fa.jpg
2025-07-11 18:58:14 +00:00
michaelschal 08e3258a32 Improve photo handling by ensuring images are correctly saved in the database
Removes debug logs and ensures correct mapping of photo data from request body to database columns.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/e6f3a8c1-bdaf-4251-a9d4-9326e97ede4b.jpg
2025-07-11 18:49:16 +00:00
michaelschal c532a2c946 Ensure receipt photos are properly saved when creating new sales records
Fix: Map camelCase photo names to snake_case in routes.ts for correct database storage.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/183bde94-866e-4679-97fd-7df41a964b4d.jpg
2025-07-11 18:39:31 +00:00
michaelschal 9cc28ddc93 Prepare the application for deployment to a production environment
Adds Docker Compose configuration, Nginx setup, and deployment scripts.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/1668b635-4205-40d7-8634-6b7174d94d7b.jpg
2025-07-11 15:59:15 +00:00
michaelschal 28ca128ab6 Extend user session duration to improve the overall user experience
Removes `useSessionTimeout` hook and increases the session `maxAge` to 24 hours in `server/routes.ts`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/0fcd8a07-209c-4438-b4c7-bd4229e22926.jpg
2025-07-10 09:52:12 +00:00
michaelschal f828278efa Implement automatic logout after inactivity and improve authentication
Adds session timeout functionality using `useSessionTimeout` hook and updates session maxAge to 15 minutes in server routes.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/56f97713-69fd-41d1-b933-ff4440458da0.jpg
2025-07-10 09:51:34 +00:00
michaelschal 4dbdda2071 Improve user editing, allowing admins access to all stores without assignment
Updates user editing logic to handle admin roles and store access, with schema changes.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/9d9e1107-c416-4124-a939-a91c612c56a1.jpg
2025-07-09 23:23:51 +00:00
michaelschal bedb7bd4cc Prevent admin users from accidentally demoting themselves or the last admin
Implements server-side validation and updates client error messaging to prevent accidental role changes in `server/routes.ts` and `client/src/components/Administration.tsx`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/9d9e1107-c416-4124-a939-a91c612c56a1.jpg
2025-07-09 23:22:01 +00:00
michaelschal f1b0cb07b7 Improve user role management with enhanced restrictions and messaging
Implement role update restrictions to prevent demoting self/last admin and add error messages.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/9d9e1107-c416-4124-a939-a91c612c56a1.jpg
2025-07-09 23:14:51 +00:00
michaelschal a2e4588776 Improve database connection reliability and add debugging tools
Enhances database connection robustness with retry logic and introduces `debug-docker.sh` for easier debugging.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/6e755801-08e8-4492-805e-ac3610de5a2a.jpg
2025-07-09 20:50:34 +00:00
michaelschal ec38451a81 Prepare application for deployment using Docker containers
Adds Dockerfile, docker-compose.yml, .dockerignore, nginx.conf, init.sql and updates replit.md and server/routes.ts.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/c3a86207-4ee0-47f9-8062-2dbbae696290.jpg
2025-07-09 20:09:39 +00:00
michaelschal 7404dc6443 Add feature to automatically delete old sales data for legal compliance
Implements a data purge system, scheduler, and API endpoints for stats and manual execution.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/c3a86207-4ee0-47f9-8062-2dbbae696290.jpg
2025-07-09 20:04:18 +00:00
michaelschal 1d46228fac Improve login page security by dynamically showing default credentials
Adds API endpoint to check default admin password status and hides credentials.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/22c32c18-bf03-4830-a5c9-ef4544d0e27f.jpg
2025-07-09 19:31:54 +00:00
michaelschal a78d648c01 Enable automatic data backups to secure user information regularly
Implements automatic database backups every 12 hours using node-cron, retaining only the 10 most recent backups in server/backup-scheduler.ts.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/674ec742-23a2-4047-910f-36599184f036.jpg
2025-07-09 19:29:09 +00:00
michaelschal 546ba12e89 Enable administrators to back up and restore all application data
Adds backup and restore functionality via new /api/admin/backup endpoints, utilizing JSON files.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/1f9cd6a5-22d4-4e38-b272-bbf414b631b8.jpg
2025-07-09 19:24:44 +00:00
michaelschal 4d4ad93e5d Update sales history to immediately display newly created sales data
Modify sales history to automatically refresh after sales creation and fix store ID access control.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/056e12e0-54e7-4791-91f8-f567295f6d37.jpg
2025-07-09 19:10:41 +00:00
michaelschal b71148da46 Make sales history update reliably after adding or removing sales
Invalidate all sales queries instead of exact matches and handle missing store ID.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/aec99dd8-53a6-474d-8bf0-cdc42edf20c7.jpg
2025-07-09 19:06:34 +00:00
michaelschal 4384818f63 Enable store selection for admins and associate sales with specific stores
Implements store selection and association functionality using useStoreContext hook and updates sale creation and retrieval APIs.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/d304bad8-e4eb-4558-b9d6-38704ba052e8.jpg
2025-07-09 19:04:37 +00:00
michaelschal a5336a5919 Enable administrators to manage users and stores more effectively
Implements CRUD operations for users and stores with UI updates and server route handling.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/ab880d72-1a34-4d36-b5be-9f44df85ed1a.jpg
2025-07-09 18:59:47 +00:00
michaelschal 5c01234fc4 Implement secure user authentication with role-based access control
Integrates user authentication using bcrypt, session management with PostgreSQL, and role-based access control for enhanced security and user management.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/ab880d72-1a34-4d36-b5be-9f44df85ed1a.jpg
2025-07-09 18:44:20 +00:00
michaelschal 4fac1078a1 Create a new sales registry app with identity verification features
Initial commit of the React application with UI components, form, camera, and indexedDB integration for sale data management.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/02867739-9ff7-4441-aca2-12e0153376c5.jpg
2025-07-09 18:05:04 +00:00