Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aimedidierm/employee-management-api
https://github.com/aimedidierm/employee-management-api
Last synced: 21 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/aimedidierm/employee-management-api
- Owner: aimedidierm
- Created: 2024-02-23T02:00:29.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-23T21:52:14.000Z (11 months ago)
- Last Synced: 2024-11-12T05:09:14.825Z (3 months ago)
- Language: PHP
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Employee Management Software
This is a Laravel-based employee management software designed as a technical assignment to showcase various skills including PHP 8.0 syntax, proper code structure, design patterns, and comprehensive test coverage.
## Description
The project is an API for managing employees with advanced features implemented to demonstrate proficiency in the Laravel framework.
## Stack/Tools
- Laravel 10
- PHPUnitfor tests
- Laravel Sanctum for authentication
- laravel-snappy (for PDF reports)
- Laravel Excel (for Excel reports)
- Mailpit
- OpenAPI Specification (v3) for documenting endpoints## Features
- Full authentication system using Sanctum (Register, Login, Logout, Forgot password, Password reset)
- Employee CRUD operations
- Attendance management to record employee arrivals and departures
- Automated email notifications to employees upon attendance record creation
- Attendance report generation in PDF and Excel formats with daily attendance data## Requirements
- PHP 8.1
- laravel-snappy 1.0
- guzzlehttp/guzzle 7.2
- laravel/framework 10.10
- laravel/sanctum 3.3
- laravel/tinker 2.8
- maatwebsite/excel 3.1### Development Requirements
- fakerphp/faker 1.9.1
- laravel/pint 1.0
- laravel/sail 1.18
- mockery/mockery 1.4.4
- nunomaduro/collision 7.0
- phpunit/phpunit 10.1
- spatie/laravel-ignition 2.0## Installation
1. Clone this repository to your local machine.
2. Install PHP dependencies using Composer:```bash
composer install
```3. Copy the .env.example file to .env and configure your environment variables, including database connection settings.
4. Generate a new application key:```bash
php artisan key:generate
```5. Migrate the database and seeds
```bash
php artisan migrate --seed
```## Bonus Points
1. GitHub Actions for running tests on PR events.