Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/katherinekhine/employee_management

The project is a Laravel 11 backend API server for employee management, utilizing GraphQL for CRUD operations and Passport authentication for user authentication and data export/import.
https://github.com/katherinekhine/employee_management

graphql-api laravel-excel laravel11 lighthouse passport

Last synced: 19 days ago
JSON representation

The project is a Laravel 11 backend API server for employee management, utilizing GraphQL for CRUD operations and Passport authentication for user authentication and data export/import.

Awesome Lists containing this project

README

        

# Employee Management System

This project is a backend API server for managing employees, built using Laravel 11. It implements GraphQL for CRUD operations and user authentication via Passport. Users can perform various employee management operations, including creating employees, viewing a list of employees, updating and deleting records, and exporting/importing employee data to/from Excel.

## Features

- **User Login**: Authentication via Laravel Passport.
- **Employee Creation**: Users can create up to 10,000 employees using Faker.
- **Employee Listing**: View a list of employees with GraphQL queries.
- **Employee Deletion**: Remove employee records.
- **Employee Update**: Edit employee details.
- **Excel Export**: Export up to 10,000 employee records to an Excel file.
- **Excel Import**: Import employee data from an Excel file.

## Technical Requirements

- **Framework**: Laravel 11
- **GraphQL Package**: [nuwave/lighthouse](https://lighthouse-php.com) for GraphQL implementation.
- **Authentication**: Laravel Passport for user authentication and token management.
- **Excel**: Laravel Excel package for importing and exporting employee data.

## Installation

1. Clone the repository:

```bash
git clone [email protected]:katherinekhine/employee_management.git
```

2. Navigate to the project directory:

```bash
cd employee_management
```

3. Install dependencies:

```bash
composer install
```

4. Set up the .env file by copying the .env.example file and configuring your database connection.

```bash
cp .env.example .env
```

5. Generate an application key:

```bash
php artisan key:generate
```

6. Run database migrations:

```bash
php artisan migrate
```

7. Install Passport:

```bash
php artisan passport:install
```

8. Seed the database with 10,000 employees (using Faker):

```bash
php artisan db:seed --class=EmployeeSeeder
```

9. Start the server:

```bash
php artisan serve
```