Frontdesk/Visitor Management System project
Published: 2024-06-04 11:45:29



## Introduction

A front desk / visitor management system is an essential aspect of any business. It serves as the first point of contact for customers, potentially making or breaking their experience. Our Welcome - Frontdesk/Visitor Management System is designed to handle all customer inquiries and requests, track them effectively, and automate parts of the process. It also provides information about the company’s services and products, saving time and money while enhancing customer service.
![Welcome - Frontdesk/Visitor Management System](https://cnd.sazzadul.com/welcome_1.jpg)

## Key Features

Here are some of the main features that make this system stand out:

- **Welcome Visitor Records:** Efficiently manage visitor information.
- **Capture Visitor Images:** Keep a visual record of your visitors.
- **Connect and Sync with Active Directory (AD):** Seamless integration with your existing directory.
- **Web-based Front Desk:** Convenient check-in/out process for visitors.
- **Visitor Analytics Dashboard:** Gain insights into visitor data.
- **Daily Visitor List:** Keep track of daily visitors.
- **Non-Checked-Out Visitor List:** Manage visitors who haven't checked out.
- **Unlimited Accounts:** Create as many accounts as needed.
- **User Role and Permission System:** Define roles and permissions for better control.
- **Responsive Interface:** Accessible on desktop, tablet, and mobile devices.
- **Cloud and Self-Hosted Solutions:** Flexibility to choose your hosting option.

![Capture Visitor Image](https://cnd.sazzadul.com/Photography.jpg)
![Connect with Active Directory](https://cnd.sazzadul.com/ad.jpg)
![Technologies](https://cnd.sazzadul.com/Technologies.jpg)

## Requirements

Before you start, ensure your environment meets the following requirements:

- **PHP version ^8.1**
- MySQL 5.x or higher
- Nginx or Apache
- **LDAP Extension** (if using Active Directory)

## Installation

Follow these steps to get the project up and running:

### Step 1: Clone the Repository

```bash
git clone https://github.com/md-sazzadul-islam/front-desk-visitor-management.git
cd front-desk-visitor-management
```

### Step 2: Install Dependencies

```bash
composer install
```

### Step 3: Configure Environment

Copy the example environment file and generate the application key:

```bash
cp .env.example .env
php artisan key:generate
```

### Step 4: Edit the `.env` File

Configure your database and other settings in the `.env` file.

### Step 5: Import SQL

Import the SQL file to set up the database schema:

```bash
File: sql/welcome.sql 
```

### Step 6: Serve the Application

Start the development server:

```bash
php artisan serve
```

## Configuration

### LDAP Configuration

Ensure your `.env` file contains the following LDAP configurations:

```env
LDAP_HOSTS=mail.example.com
LDAP_PORT=389
LDAP_USERNAME=welcome@example.com
LDAP_PASSWORD=password
LDAP_BASE_DN="dc=example,dc=com"
```

### Mail Configuration

Configure your mail settings in the `.env` file:

```env
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=f0958845bdc3a0
MAIL_PASSWORD=0256d421515e5d
MAIL_ENCRYPTION=tls
```

## Demo Login Info

Use the following demo accounts to log in:

### Admin

- **Username:** [admin@sazzadul.com](mailto:admin@sazzadul.com)
- **Password:** 12345678

### User

- **Username:** [user@sazzadul.com](mailto:user@sazzadul.com)
- **Password:** 12345678

## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. Check out the [GitHub repository](https://github.com/md-sazzadul-islam/front-desk-visitor-management) to get started.

## Contact

For any questions or support, feel free to reach out:

Md Sazzadul Islam - [https://sazzadul.com](https://sazzadul.com)

---

For more details, visit the [project documentation](https://github.com/md-sazzadul-islam/front-desk-visitor-management/wiki).

Let's build a better visitor management experience together!