https://github.com/al-rimi/submit-pak
Laravel-based submissions management package
https://github.com/al-rimi/submit-pak
assignment-management laravel-package php submission-notifications submission-system submissions vanilla-css vanilla-js
Last synced: 5 months ago
JSON representation
Laravel-based submissions management package
- Host: GitHub
- URL: https://github.com/al-rimi/submit-pak
- Owner: Al-rimi
- License: mit
- Created: 2024-11-17T07:42:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-05T01:54:44.000Z (over 1 year ago)
- Last Synced: 2025-04-11T18:23:40.824Z (about 1 year ago)
- Topics: assignment-management, laravel-package, php, submission-notifications, submission-system, submissions, vanilla-css, vanilla-js
- Language: PHP
- Homepage:
- Size: 1.55 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **Submit Package**
[](./screenshots/screenshot-pc.jpg)
[](./screenshots/screenshot-phone.jpg)
A simple and customizable system for managing submissions. Designed for Laravel applications, it offers essential tools to streamline submission processes with minimal setup.
## **Installation**
#### Step 1: Install the Package
```bash
composer require al-rimi/submit
```
#### Step 2: Run the Installation Command
```bash
php artisan submit:install
```
This command performs the following tasks:
1. Publishes assets, views, and configuration files.
2. Installs necessary Node.js dependencies.
3. Updates the `vite.config.js` file with Submit assets (`submit.css` and `submit.js`).
4. Builds assets using `npm run build`.
5. Runs database migrations.
6. Seeds the database with example data.
## **Features**
- **Submission Management**: Collect, validate, and store student submissions effectively.
- **Email Notifications**: Rreceive notifications after each submission.
- **Dynamic Table Management**: Displays and updates student submissions dynamically without page reloads.
- **Auto-fill**: Custom JS script for client side auto fill.
- **UI**: vanilla CSS with simple animations and clean look..
## **Customization**
#### **Environment Variables**
To enable submission notifications and set a deadline, add the following variables to your `.env` file:
```env
NOTIFICATION_EMAIL= # Email address to receive submission notifications
SUBMISSION_DEADLINE= # Submission deadline in ISO 8601 format (e.g., "YYYY-MM-DDTHH:MM:SS")
```
#### **Routes**
The package publishes its routes to `routes/submit.php`. You can customize these routes to:
- Change view paths.
- Add middleware for additional security or access control.
#### **Views**
All customizable views are published to your project for easy modification:
- **Submission Page**: `resources/views/submissions.blade.php`
- **Email Template**: `resources/views/emails/submissions_email.blade.php`
#### **CSS and JavaScript**
dependency-free assets for styling and interactivity in **vanilla CSS and JavaScript**:
- **CSS File**: `resources/css/submit.css`
- **JavaScript File**: `resources/js/submit.js`
#### **Database**
The package provides database migrations and a sample seeder to kickstart your setup:
- **Migrations**: Automatically created tables for submission data.
- **Seeder**: `database/Seeders/StudentsTableSeeder.php` populates the database with example records.
## **Troubleshooting**
Vite Configuration
The package automatically adds `resources/css/submit.css` and `resources/js/submit.js` to `vite.config.js`. If this step fails, manually update your `vite.config.js` file:
export default defineConfig({
input: [
'resources/css/app.css',
'resources/js/app.js',
'resources/css/submit.css',
'resources/js/submit.js'
],
// other Vite configuration
});
Build Issues
If you encounter build issues, ensure Node.js and npm are properly installed. Then rerun:
npm install
npm run build
## **Uninstallation**
#### Step 1: Remove all traces of the Submit package:
```bash
php artisan submit:uninstall
```
#### Step 2: remove the package:
```bash
composer remove al-rimi/submit
```
## **Requirements**
- PHP 8.0 or higher
- Laravel 10.x or 11.x
- Node.js (for Vite asset compilation)
> Have questions or facing issues? Check out the [issues page](https://github.com/Al-rimi/submit-pak/issues).
## **License**
This package is open-source and is licensed under the [MIT License](LICENSE).