Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kyle-myre/telephone-staffing-management-system
CRUD Web application with Laravel Livewire and Filament
https://github.com/kyle-myre/telephone-staffing-management-system
filament laravel livewire php sqlite vite
Last synced: 2 days ago
JSON representation
CRUD Web application with Laravel Livewire and Filament
- Host: GitHub
- URL: https://github.com/kyle-myre/telephone-staffing-management-system
- Owner: Kyle-Myre
- License: mit
- Created: 2024-04-25T11:38:33.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-12-06T18:19:38.000Z (about 1 month ago)
- Last Synced: 2024-12-06T20:13:46.790Z (about 1 month ago)
- Topics: filament, laravel, livewire, php, sqlite, vite
- Language: PHP
- Homepage:
- Size: 1010 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Telephone Staffing Management System
![Laravel](https://img.shields.io/badge/Laravel-8.x-orange)
![Vue.js](https://img.shields.io/badge/Vue.js-3.x-brightgreen)
![SQLite](https://img.shields.io/badge/SQLite-3.x-blue)## Overview
The **Telephone Staffing Management System** is a comprehensive CRUD application designed to manage staff allocations and assignments for a telephone staffing system. Built with Laravel, this application offers an intuitive user interface powered by the Filament Admin Panel for efficient resource management. It handles the core functionalities related to managing entities, assignments, staff, users, chips, and more.
## Features
- **CRUD Operations**: Full Create, Read, Update, and Delete functionality for managing staff, allocations, assignments, and users.
- **Filament Admin Panel**: Utilizes Filament for an easy-to-use, visually appealing admin panel.
- **Role-based Access**: Access control via policies and middleware to secure user data.
- **Widgets & Resources**: Custom widgets and resources for easier data visualization and manipulation.## Project Structure
The project follows the Laravel framework structure, with additional components for Filament integration and custom business logic.
```
├───app
│ ├───Console # Artisan commands
│ ├───Exceptions # Exception handling
│ ├───Filament # Filament integration
│ │ ├───Resources # CRUD resources for each model
│ │ │ ├───AllocationResource
│ │ │ │ └───Pages # Filament pages for Allocation
│ │ │ ├───AssignmentResource
│ │ │ │ └───Pages # Filament pages for Assignment
│ │ │ ├───ChipResource
│ │ │ │ └───Pages # Filament pages for Chip
│ │ │ ├───EntityResource
│ │ │ │ └───Pages # Filament pages for Entity
│ │ │ ├───StaffResource
│ │ │ │ └───Pages # Filament pages for Staff
│ │ │ └───UserResource
│ │ │ └───Pages # Filament pages for User
│ │ └───Widgets # Custom Filament widgets
│ ├───Http
│ │ ├───Controllers # Controllers for routing logic
│ │ ├───Filament
│ │ │ ├───Resources # Filament resource controllers
│ │ │ └───Widgets # Custom Filament widgets logic
│ │ └───Middleware # Middleware for access control
│ ├───Models # Eloquent models for database entities
│ ├───Policies # Access control policies for different resources
│ └───Providers # Service providers for app initialization
├───bootstrap # App bootstrap files
│ └───cache # Cache files
├───config # Configuration files
├───database
│ ├───factories # Model factories for testing
│ ├───migrations # Database migration files
│ └───seeders # Database seeders
├───public # Public assets (CSS, JS, images)
├───resources
│ ├───css # CSS files for styling
│ ├───js # JS files for interactivity
│ └───views # Blade views for frontend
│ └───vendor
│ ├───filament # Filament view components
│ └───filament-breezy # Breezy Filament components for user auth
├───routes # Route definitions
├───storage # Storage for uploaded files, cache, and logs
│ ├───app
│ │ └───public # Public files storage
│ ├───framework # Framework-generated files
│ │ ├───cache # Cache data
│ │ ├───sessions # Session files
│ │ ├───testing # Testing files
│ │ └───views # View files
│ └───logs # Application logs
└───tests # Automated tests
├───Feature # Feature tests
└───Unit # Unit tests
```## Installation
To get started with the **Telephone Staffing Management System**, follow the steps below:
1. **Clone the repository**:
```bash
git clone
cd TTelephone-Staffing-Management-System
```2. **Install dependencies**:
Run the following command to install the necessary dependencies via Composer and NPM:
```bash
composer install
npm install
```3. **Set up your environment file**:
Copy `.env.example` to `.env` and configure the necessary environment variables (e.g., database connection, app URL).```bash
cp .env.example .env
```4. **Generate application key**:
```bash
php artisan key:generate
```5. **Run migrations**:
Run the following command to set up your database tables:
```bash
php artisan migrate
```6. **Seed database (optional)**:
You can seed the database with sample data using:
```bash
php artisan db:seed
```7. **Start the server**:
You can now start the Laravel development server:
```bash
php artisan serve
```Your app should now be running at `http://localhost:8000`.
## Testing
The application includes feature and unit tests for ensuring the functionality of the CRUD operations and system logic. You can run the tests with:
```bash
php artisan test
```## Filament Admin Panel
The system uses Filament for the admin panel. After logging in, users can manage staff, assignments, chips, and more through the intuitive UI. Filament resources handle CRUD operations for each model, making the management of the system easy.
### Pages & Resources
Each key entity in the system (e.g., **Staff**, **Assignments**, **Users**) has its own Filament resource with CRUD operations and corresponding pages for viewing and editing the records.
## Contributing
We welcome contributions! To contribute to this project:
1. Fork the repository
2. Create a new branch
3. Make your changes
4. Open a pull request with a description of your changes## License
This project is open-source and available under the [MIT License](LICENSE).