Commit Graph
21 Commits
Author SHA1 Message Date
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 0db1bffa94 Prevent users from creating accounts with a blank email address
Handle empty email strings by setting them to null to avoid database constraint errors in `server/storage.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/56f97713-69fd-41d1-b933-ff4440458da0.jpg
2025-07-10 09:45:56 +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 1baefe2767 Switch to local PostgreSQL configuration and improve data handling
Migrates from Neon serverless to local PostgreSQL, fixes timestamp comparisons, and applies Node.js 18 compatibility fixes.

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/142044c4-d937-4abb-ae50-83d9764cfb4d.jpg
2025-07-09 22:31:16 +00:00
michaelschal 07baa59225 Ensure the application runs correctly in the production environment
Implements a Node.js 18 compatibility fix by patching `dist/index.js` and creating `server/prod-start.js` to replace `import.meta.dirname` with static paths, resolving a runtime error.

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/99451107-d8a0-4f61-81e0-cae481285260.jpg
2025-07-09 22:21:49 +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