README update
This commit is contained in:
@@ -13,8 +13,18 @@ A modern, responsive web application for tracking construction/contracting jobs,
|
||||
- Links and references (QB Link, Voxer Link, Folder Link)
|
||||
- Status flags (Active, Tax Exempt, Docs Uploaded, etc.)
|
||||
- **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
|
||||
- **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
|
||||
|
||||
## Technology Stack
|
||||
@@ -23,6 +33,7 @@ A modern, responsive web application for tracking construction/contracting jobs,
|
||||
- **CSS Framework**: Tailwind CSS (via CDN)
|
||||
- **Rich Text Editor**: Quill.js
|
||||
- **Backend**: PocketBase
|
||||
- **Development Server**: Bun (or any static file server)
|
||||
- **Design**: Modern, clean UI with Indigo/Green/Purple color scheme
|
||||
|
||||
## Setup Instructions
|
||||
@@ -105,6 +116,37 @@ Create a collection named `notes` with the following fields:
|
||||
- `date` (Date)
|
||||
- `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
|
||||
|
||||
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
|
||||
|
||||
For both `Job_Info` and `notes` collections:
|
||||
For all collections (`Job_Info`, `notes`, `Employee_Records`, `Employee_Reports`):
|
||||
|
||||
1. Go to the collection settings
|
||||
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)
|
||||
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
|
||||
|
||||
1. Install dependencies (if using Bun):
|
||||
@@ -165,18 +210,28 @@ php -S localhost:8000
|
||||
## File Structure
|
||||
|
||||
```
|
||||
Job-Pages/
|
||||
Prism/
|
||||
├── index.html # Login page
|
||||
├── dashboard.html # Dashboard with stats
|
||||
├── dashboard.html # Dashboard with stats and navigation
|
||||
├── jobs.html # Jobs list and management
|
||||
├── notes.html # Notes/reports page
|
||||
├── employees.html # Employee management page
|
||||
├── preferences.html # User preferences page
|
||||
├── js/
|
||||
│ ├── pocketbase.js # PocketBase client
|
||||
│ ├── auth.js # Authentication
|
||||
│ ├── pocketbase.js # PocketBase client configuration
|
||||
│ ├── config.js # Application configuration
|
||||
│ ├── auth.js # Authentication functions
|
||||
│ ├── jobs.js # Job CRUD operations
|
||||
│ └── notes.js # Notes 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/
|
||||
│ └── custom.css # Custom styles
|
||||
├── config.json # Application configuration (collections, pagination, etc.)
|
||||
├── server.js # Bun development server
|
||||
├── package.json # Project dependencies and scripts
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
@@ -205,10 +260,31 @@ Job-Pages/
|
||||
5. Select sentiment (Positive, Negative, Neutral)
|
||||
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
|
||||
|
||||
- Use the search bar to search by job number, name, or client
|
||||
- Use filter buttons to show All, Active, or Inactive jobs
|
||||
- **Jobs**: Use the search bar to search by job number, name, or client
|
||||
- **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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user