Skip to content

GuardPal is a secure networking app for private security professionals, featuring real-time credential checks, AI job matching, and live chat—built to showcase full-stack development skills.

Notifications You must be signed in to change notification settings

OxheiCodes/GuardPal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GuardPal 🛡️

GuardPal Logo

The Professional Network for Security Industry Professionals

PHP Version MySQL Bootstrap License

FeaturesDemoInstallationScreenshotsTech Stack


📋 Table of Contents


🎯 About

GuardPal is a specialized job portal and professional networking platform designed exclusively for private security professionals in the UK. The platform connects security officers, supervisors, and managers with employment opportunities while facilitating professional networking within the security industry.

Key Highlights

  • SIA License Verification: Integrated support for displaying and verifying Security Industry Authority (SIA) licenses
  • Industry-Specific Job Search: Powered by JSearch API with filters for security-related positions
  • Professional Networking: Connect with other security professionals, exchange messages, and build your network
  • Comprehensive Profiles: Showcase skills, certifications, work experience, and SIA credentials
  • Real-Time Messaging: Built-in chat system for connected professionals

✨ Features

🔐 User Authentication & Profile Management

  • Secure user registration and login with bcrypt password hashing
  • Comprehensive profile creation with:
    • Personal information and professional bio
    • SIA license details (16-digit number, type, expiry date)
    • Skills with proficiency levels
    • Professional certifications
    • Work experience timeline
    • Profile image upload

💼 Job Search & Management

  • Integration with JSearch API for real-time job listings
  • Advanced filtering by:
    • Job type (Security Officer, Door Supervisor, CCTV Operator, etc.)
    • Location
    • Experience level
  • Job bookmarking functionality
  • Detailed job descriptions and application links

🤝 Professional Networking

  • Connect with other security professionals
  • Connection request system (send, accept, reject)
  • View connection profiles
  • Discover professionals based on:
    • Similar skills
    • Geographic location
    • SIA license type

💬 Messaging System

  • Real-time chat functionality between connected users
  • Message history preservation
  • Chat room management
  • Auto-refresh for new messages

🎨 User Interface

  • Clean, modern design with Bootstrap 5
  • Responsive layout for mobile and desktop
  • Smooth animations with Anime.js
  • Professional branding with custom logo
  • White navbar and footer with black text
  • Roboto font for professional typography

🎥 Demo

Live Demo

[Add your live demo link here]

Video Walkthrough

[Add your video demo link here]


📸 Screenshots

Landing Page

The welcoming homepage showcasing GuardPal's value proposition for security professionals.

Landing Page

User Registration

Simple and secure registration process for new security professionals.

Registration Page

User Dashboard

Personalized dashboard showing profile completeness, connections, and quick access to key features.

Dashboard

Profile Management

Comprehensive profile page displaying SIA license, skills, certifications, and work experience.

Profile Page

Edit Profile

Easy-to-use form for updating professional information including SIA license details.

Edit Profile

Skills Management

Add and manage professional skills with proficiency levels.

Skills Management

Job Search

Advanced job search interface with filters for security-specific positions.

Job Search

Job Details

Detailed job information with application links and bookmark functionality.

Job Details

Professional Networking

Discover and connect with other security professionals in your area or with similar skills.

Find Professionals

My Connections

Manage your professional network with accepted connections, pending requests, and sent invitations.

My Connections

Messaging System

Real-time chat functionality for communicating with your professional connections.

Chat Interface

Navigation Menu

Clean navigation with dropdown menus for easy access to all features.

Navigation Menu

Bookmarked Jobs

Save and manage your favorite job listings for easy access.

Bookmarked Jobs

🛠️ Tech Stack

Frontend

  • HTML5 - Semantic markup
  • CSS3 - Custom styling
  • Bootstrap 5.3 - Responsive framework
  • JavaScript (ES6+) - Interactive functionality
  • Anime.js 3.2.1 - Smooth animations
  • Font Awesome 6.0 - Icon library
  • Roboto Font - Professional typography

Backend

  • PHP 7.4+ - Server-side logic
  • MySQL 8.0+ - Database management
  • PDO - Database abstraction layer

APIs & Services

  • JSearch API (RapidAPI) - Job search functionality
  • Google Fonts - Custom typography

Development Environment

  • XAMPP - Local development server
  • phpMyAdmin - Database management

Security

  • Bcrypt - Password hashing
  • Prepared Statements - SQL injection prevention
  • Input Sanitization - XSS protection
  • Session Management - Secure authentication

📦 Installation

Prerequisites

  • XAMPP (or similar LAMP/WAMP stack)
  • PHP 7.4 or higher
  • MySQL 8.0 or higher
  • Web browser (Chrome, Firefox, Safari, Edge)

Step 1: Clone the Repository

git clone https://github.com/yourusername/guardpal.git
cd guardpal

Step 2: Move to XAMPP Directory

# Windows
move guardpal C:\xampp\htdocs\

# macOS/Linux
mv guardpal /Applications/XAMPP/htdocs/

Step 3: Start XAMPP Services

  • Start Apache server
  • Start MySQL server

Step 4: Database Configuration

  1. Open phpMyAdmin at http://localhost/phpmyadmin
  2. Create a new database named guardpal
  3. Import the database schema:
    -- Run the SQL file located at:
    database/database.sql

Step 5: Configure Database Connection

Edit includes/config.php and update if necessary:

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'guardpal');

Step 6: API Configuration

Add your JSearch API key in includes/config.php:

define('JSEARCH_API_KEY', 'your_api_key_here');
define('JSEARCH_API_HOST', 'jsearch.p.rapidapi.com');

Step 7: Access the Application

Open your browser and navigate to:

http://localhost/guardpal/

🗄️ Database Setup

Schema Overview

The application uses the following main tables:

  • users - User accounts and profile information
  • skills - User skills and proficiency levels
  • certifications - Professional certifications
  • work_experience - Employment history
  • connections - Professional network relationships
  • messages - Chat messages between users
  • chat_rooms - Message conversation threads
  • bookmarks - Saved job listings

Running Migrations

Execute the SQL files in order:

  1. database/database.sql - Create tables and schema
  2. database/profile_updates.sql - Add profile-related fields
  3. test_users_fixed_formatted.sql - Add demo users (optional)

Adding Test Data

To populate the database with sample users for testing:

# Run in phpMyAdmin or MySQL command line
source test_users_fixed_formatted.sql

🚀 Usage

Creating an Account

  1. Navigate to the registration page
  2. Fill in your details:
    • Full name
    • Username
    • Email address
    • Password
  3. Click "Register" to create your account

Completing Your Profile

  1. Log in with your credentials
  2. Click "Edit Profile" in the navigation menu
  3. Add your information:
    • Professional details
    • SIA license number (16 digits)
    • Location and availability
    • Professional bio
  4. Navigate to "Update Skills" to add your competencies
  5. Add certifications and work experience

Searching for Jobs

  1. Click "Find Jobs" in the navigation
  2. Enter keywords (e.g., "Security Officer", "Door Supervisor")
  3. Apply filters:
    • Job type
    • Location
    • Experience level
  4. Browse results and click "View Details" for more information
  5. Bookmark jobs by clicking the bookmark icon

Networking

  1. Go to "Network" → "Find Professionals"
  2. Search using:
    • Keywords
    • Skills
    • Location
    • SIA license type
  3. Click "View Profile" to see detailed profiles
  4. Click "Connect" to send a connection request
  5. Manage connections in "My Connections"

Messaging

  1. Navigate to "Network" → "Messages"
  2. Select a connection from your chat list
  3. Type your message and click "Send"
  4. Messages auto-refresh every 5 seconds

👥 Test Accounts

For demonstration purposes, the following test accounts are available:

Name Email Password Role
James Wilson test1@guardpal.com TestUser1 Security Operations Manager
Emma Bailey test2@guardpal.com TestUser1 Door Supervisor
Rashid Mahmood test3@guardpal.com TestUser1 CCTV Operator
Olivia Singh test4@guardpal.com TestUser1 Close Protection Officer

These accounts include:

  • Complete professional profiles
  • SIA license information
  • Skills and certifications
  • Work experience
  • Pre-established connections
  • Sample chat conversations

🔌 API Integration

JSearch API

GuardPal integrates with the JSearch API via RapidAPI to provide real-time job listings.

Setup

  1. Sign up at RapidAPI
  2. Subscribe to JSearch API
  3. Get your API key
  4. Add to includes/config.php

Endpoints Used

  • GET /search - Search for security jobs
  • GET /job-details - Get detailed job information

Rate Limits

  • Free tier: 100 requests/month
  • Basic tier: 1000 requests/month

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Code Style Guidelines

  • Follow PSR-12 coding standards for PHP
  • Use meaningful variable and function names
  • Comment complex logic
  • Test all features before submitting

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


📧 Contact

Your Name - @yourtwitter - your.email@example.com

Project Link: https://github.com/yourusername/guardpal


🙏 Acknowledgments


🎓 Academic Project

This project was developed as part of a web development course at [Your University/College Name]. It demonstrates:

  • Full-stack web development skills
  • Database design and management
  • API integration
  • User authentication and security
  • Responsive web design
  • Professional software development practices

Made with ❤️ for the Security Industry

⭐ Star this repo if you find it helpful!

About

GuardPal is a secure networking app for private security professionals, featuring real-time credential checks, AI job matching, and live chat—built to showcase full-stack development skills.

Topics

Resources

Stars

Watchers

Forks