Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gsinghjay/hccc_fws-job-board
Federal Work Study Job Board
https://github.com/gsinghjay/hccc_fws-job-board
Last synced: 15 days ago
JSON representation
Federal Work Study Job Board
- Host: GitHub
- URL: https://github.com/gsinghjay/hccc_fws-job-board
- Owner: gsinghjay
- Created: 2024-12-20T00:11:06.000Z (22 days ago)
- Default Branch: main
- Last Pushed: 2024-12-20T00:36:40.000Z (22 days ago)
- Last Synced: 2024-12-20T01:27:40.102Z (22 days ago)
- Language: XSLT
- Homepage: https://gsinghjay.github.io/hccc_fws-job-board/
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
### 1. XML File Structure (`fws_jobs.xml`)
```xml
Job Title
Department Name
Pay Amount
Supervisor Name
[email protected]
Campus Location
Job Overview Text
Responsibility 1
Required Skill 1
Language 1
```
### 2. XSLT File Structure (`fws_jobs.xslt`)
```xslt1. Dependencies
2. Custom Styling
/* Card animations and hover effects */
/* Color schemes and typography */
/* Layout and spacing */
/* Modal styling */
3. Main Template Structure
4. JavaScript Functionality
5. Individual Templates
```
### Key Features:
1. **Search Functionality**
- Real-time filtering of jobs based on search input
- Searches through job titles and departments
- Highlights matching terms in results2. **Category Filtering**
- Toggle between all jobs, on-campus, and off-campus
- Visual indicators for active filters
- Multiple filter combinations possible3. **Job Cards**
- Hover animations for better interactivity
- Consistent layout for job information
- Contact details in footer
- "View Details" button for more information
- Pay rate display with currency formatting
- Location badges for multiple campuses4. **Modal Details**
- Comprehensive job information
- Organized sections for:
- Overview
- Responsibilities
- Required Skills
- Languages
- Contact Information
- Icons for better visual hierarchy
- Responsive layout for all screen sizes5. **Responsive Design**
- Mobile-friendly layout
- Grid system adapts to screen size
- Readable typography at all sizes
- Touch-friendly interface
- Collapsible sections on mobile6. **Language Support**
- Multilingual job listings
- Language badges
- Support for multiple languages per position
- RTL language support7. **Contact Information**
- Clickable email addresses
- Formatted phone numbers
- Location mapping integration
- Social media links when available8. **Accessibility Features**
- ARIA labels for screen readers
- Keyboard navigation support
- High contrast mode
- Focus indicators
- Alt text for icons### Implementation Notes:
1. **File Placement**
- Both files should be in the same directory
- File names must match the reference in the XML stylesheet declaration
- Case-sensitive file naming2. **Browser Support**
- Requires a modern browser with XSLT support
- JavaScript must be enabled for filtering functionality
- Fallback for older browsers3. **Dependencies**
- Bootstrap 5.3.2
- Bootstrap Icons 1.11.3
- No jQuery required
- Modern Campus compatibility4. **Maintenance**
- Update Bootstrap versions as needed
- XML structure must match XSLT expectations
- JavaScript selectors rely on specific class names
- Regular testing for accessibility compliance5. **Performance Considerations**
- Lazy loading for images
- Optimized search functionality
- Minified CSS and JavaScript
- Caching strategies### Implementation Flow
1. **XML to PHP Transformation Process**
- XML source file is processed through XSLT
- Components.xsl handles environment detection
- DMC (Data Management Core) bridges XML and PHP
- Final output rendered through PHP for production2. **Environment-Specific Processing**
```mermaid
graph TD
A[XML Source] --> B{Environment Check}
B -->|Preview/Edit| C[XSLT Direct]
B -->|Production| D[PHP Processing]
C --> E[DMC Template]
D --> E
E --> F[Final Output]
```3. **Component Integration Flow**
- XSLT template defines base structure
- Components.xsl handles component matching
```mermaid
graph LR
A[Component Tag] --> B{Environment?}
B -->|Staging| C[DMC Template]
B -->|Production| D[PHP Renderer]
C --> E[Output]
D --> E
```4. **Data Processing Pipeline**
- XML validation
- Environment detection
- Content transformation
- Output generation5. **Key Integration Points**
- XML Source: `_resources/data/fws_jobs.xml`
- XSLT Template: `fws_jobs.xslt`
- PHP Implementation: `_resources/dmc/php/fws_jobs.php`
- Component Definition: `_resources/xsl/_shared/components.xsl`6. **Modern Campus CMS Integration**
- Uses DMC for data management
- Supports preview/edit/compare modes
- Handles staging vs production environments
- Maintains backward compatibility7. **Development Workflow**
```mermaid
graph TD
A[Edit XML] --> B[Test in Preview]
B --> C{Valid?}
C -->|No| A
C -->|Yes| D[Commit to Staging]
D --> E[Production Deploy]
```### Technical Architecture
1. **Component Structure**
- XML defines data structure
- XSLT handles presentation logic
- PHP manages server-side processing
- JavaScript handles client-side interactions2. **Environment Detection**
- Multiple validation layers
- Staging flag checks
- Action parameter validation
- Environment-specific output3. **Error Handling**
- XML validation
- File existence checks
- Content processing validation
- User-friendly error messages4. **Performance Optimizations**
- Conditional dependency loading
- Environment-specific processing
- Optimized DOM manipulation
- Caching strategies### Development Guidelines
1. **XML Updates**
- Maintain schema compatibility
- Follow existing node structure
- Include required fields
- Validate before deployment2. **XSLT Modifications**
- Test in all environments
- Maintain backward compatibility
- Follow existing template patterns
- Document template changes3. **PHP Updates**
- Follow DMC patterns
- Maintain error handling
- Log significant operations
- Test staging detection4. **Testing Requirements**
- Preview mode validation
- Production mode validation
- Error scenario testing
- Cross-browser compatibility