README update

This commit is contained in:
2025-12-18 10:39:27 -06:00
parent d4f244609a
commit 2bcdc2750f
+91 -15
View File
@@ -13,8 +13,18 @@ A modern, responsive web application for tracking construction/contracting jobs,
- Links and references (QB Link, Voxer Link, Folder Link) - Links and references (QB Link, Voxer Link, Folder Link)
- Status flags (Active, Tax Exempt, Docs Uploaded, etc.) - Status flags (Active, Tax Exempt, Docs Uploaded, etc.)
- **Notes System**: Add rich text notes to jobs with sentiment tracking - **Notes System**: Add rich text notes to jobs with sentiment tracking
- **Employee Management**:
- Create, read, update, and delete employee records
- Track employee information (Name, Email, Phone, Voxer ID, Status)
- Employee reports system for tracking employee-related notes
- Table and card view options
- Search functionality
- **User Preferences**:
- Dark mode toggle
- Default view preferences (Table/Card)
- User-specific settings stored in PocketBase
- **Search & Filter**: Search jobs by number, name, or client; filter by status - **Search & Filter**: Search jobs by number, name, or client; filter by status
- **Dashboard**: View job statistics and quick actions - **Dashboard**: View job statistics and quick actions with navigation to all modules
- **Responsive Design**: Works on mobile, tablet, and desktop - **Responsive Design**: Works on mobile, tablet, and desktop
## Technology Stack ## Technology Stack
@@ -23,6 +33,7 @@ A modern, responsive web application for tracking construction/contracting jobs,
- **CSS Framework**: Tailwind CSS (via CDN) - **CSS Framework**: Tailwind CSS (via CDN)
- **Rich Text Editor**: Quill.js - **Rich Text Editor**: Quill.js
- **Backend**: PocketBase - **Backend**: PocketBase
- **Development Server**: Bun (or any static file server)
- **Design**: Modern, clean UI with Indigo/Green/Purple color scheme - **Design**: Modern, clean UI with Indigo/Green/Purple color scheme
## Setup Instructions ## Setup Instructions
@@ -105,6 +116,37 @@ Create a collection named `notes` with the following fields:
- `date` (Date) - `date` (Date)
- `job` (Relation) - Link to Job_Info collection (optional) - `job` (Relation) - Link to Job_Info collection (optional)
#### Employee_Records Collection
Create a collection named `Employee_Records` with the following fields:
- `id` (Auto) - Auto-generated ID
- `First_Name` (Text)
- `Last_Name` (Text)
- `Email_Address` (Text)
- `Phone_Number` (Text)
- `Voxer_ID` (Text)
- `Status` (Text)
- Additional fields can be added dynamically as needed
#### Employee_Reports Collection
Create a collection named `Employee_Reports` with the following fields:
- `id` (Auto) - Auto-generated ID
- `row` (Text)
- `entered_by` (Text)
- `entered_date` (Date)
- `id_number` (Text)
- `report` (Text)
- `employee` (Relation) - Link to Employee_Records collection
#### User Preferences
User preferences are stored in the `users` collection. Add a field named `PRISM` (Text) to the `users` collection. This field stores JSON data containing:
- `dark_mode` (Boolean)
- `default_view` (Text) - "table" or "card"
### 3. Configure PocketBase URL ### 3. Configure PocketBase URL
Update the PocketBase URL in `js/pocketbase.js` if your instance is running on a different address: Update the PocketBase URL in `js/pocketbase.js` if your instance is running on a different address:
@@ -121,7 +163,7 @@ const POCKETBASE_URL = 'http://127.0.0.1:8090';
### 5. Set Collection Permissions ### 5. Set Collection Permissions
For both `Job_Info` and `notes` collections: For all collections (`Job_Info`, `notes`, `Employee_Records`, `Employee_Reports`):
1. Go to the collection settings 1. Go to the collection settings
2. Set **List/Search rule**: `@request.auth.id != ""` (authenticated users only) 2. Set **List/Search rule**: `@request.auth.id != ""` (authenticated users only)
@@ -130,6 +172,9 @@ For both `Job_Info` and `notes` collections:
5. Set **Update rule**: `@request.auth.id != ""` (authenticated users only) 5. Set **Update rule**: `@request.auth.id != ""` (authenticated users only)
6. Set **Delete rule**: `@request.auth.id != ""` (authenticated users only) 6. Set **Delete rule**: `@request.auth.id != ""` (authenticated users only)
**Note:** For the `users` collection, ensure users can update their own records to save preferences:
- **Update rule**: `@request.auth.id = id` (users can only update their own record)
### 6. Run the Application ### 6. Run the Application
1. Install dependencies (if using Bun): 1. Install dependencies (if using Bun):
@@ -165,19 +210,29 @@ php -S localhost:8000
## File Structure ## File Structure
``` ```
Job-Pages/ Prism/
├── index.html # Login page ├── index.html # Login page
├── dashboard.html # Dashboard with stats ├── dashboard.html # Dashboard with stats and navigation
├── jobs.html # Jobs list and management ├── jobs.html # Jobs list and management
├── notes.html # Notes/reports page ├── notes.html # Notes/reports page
├── employees.html # Employee management page
├── preferences.html # User preferences page
├── js/ ├── js/
│ ├── pocketbase.js # PocketBase client │ ├── pocketbase.js # PocketBase client configuration
│ ├── auth.js # Authentication │ ├── config.js # Application configuration
│ ├── jobs.js # Job CRUD operations │ ├── auth.js # Authentication functions
── notes.js # Notes operations ── jobs.js # Job CRUD operations
│ ├── notes.js # Notes operations
│ ├── employees.js # Employee CRUD operations
│ ├── employee-reports.js # Employee reports management
│ ├── preferences.js # User preferences management
│ └── custom-dropdown.js # Custom dropdown component
├── css/ ├── css/
│ └── custom.css # Custom styles │ └── custom.css # Custom styles
── README.md # This file ── config.json # Application configuration (collections, pagination, etc.)
├── server.js # Bun development server
├── package.json # Project dependencies and scripts
└── README.md # This file
``` ```
## Usage ## Usage
@@ -205,10 +260,31 @@ Job-Pages/
5. Select sentiment (Positive, Negative, Neutral) 5. Select sentiment (Positive, Negative, Neutral)
6. Click "Save Note" 6. Click "Save Note"
### Managing Employees
1. Navigate to the Employees page from the dashboard
2. Click "+ Add Employee" to create a new employee
3. Fill in employee information (First Name, Last Name, Email, Phone, Voxer ID, Status)
4. For existing employees, you can:
- Edit employee information
- Add employee reports
- View employee reports
5. Use the search bar to search by name, email, phone, or department
6. Toggle between Table and Card views
### User Preferences
1. Click on your user avatar in the top right corner
2. Select "Preferences"
3. Toggle dark mode on/off
4. Set your default view preference (Table or Card)
5. Click "Save Preferences"
### Searching and Filtering ### Searching and Filtering
- Use the search bar to search by job number, name, or client - **Jobs**: Use the search bar to search by job number, name, or client
- Use filter buttons to show All, Active, or Inactive jobs - **Jobs**: Use filter buttons to show All, Active, or Inactive jobs
- **Employees**: Use the search bar to search by name, email, phone, or department
## Troubleshooting ## Troubleshooting