Project management tool built with Laravel Filament 4 for simple and efficient task tracking.
Project management tool built with Laravel Filament 4 for simple and efficient task tracking.
Now using Filament 4!
A Laravel Filament 4 application for managing projects with ticket management and status tracking.
Clone the repository:
git clone https://github.com/SeptiawanAjiP/dewakoding-project-management
cd dewakoding-project-managementInstall dependencies:
composer install
npm installSet up environment:
cp .env.example .env
php artisan key:generateConfigure database in .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dewakoding_project_management
DB_USERNAME=root
DB_PASSWORD=Run migrations:
php artisan migrateCreate storage link for file uploads:
php artisan storage:linkCreate a Filament admin user:
php artisan make:filament-userActivate Role & Permission:
php artisan shield:setup
php artisan shield:install
php artisan shield:super-adminCompile assets:
npm run devStart the development server:
php artisan servehttp://localhost:8000/adminImportant Notice: This project has been upgraded to Filament 4. If you're upgrading from a previous version that used Filament 3, please follow these steps carefully:
The upgrade process for Filament Shield requires special attention. Please read the official upgrade guide first: Filament Shield Upgrade Guide
After updating your dependencies and following the official guide, run the following command to regenerate Shield policies and permissions:
php artisan shield:generate --all --option=policiesNote: Some upgrade steps related to filament-shield have already been implemented in the codebase. The command above will ensure all policies and permissions are properly generated for Filament 4 compatibility.
php artisan optimize:clearThe Board View offers a familiar kanban-style interface for ticket management:
The Timeline feature provides a chronological perspective of your project work:
Epics help organize related tickets into larger initiatives:
The comment system enhances team collaboration:
This application supports Google OAuth login. Here's how to configure it:
Open Google Cloud Console
Create or Select a Project
Enable Google+ API
Create OAuth 2.0 Credentials
http://localhost:8000/auth/google/callback
https://yourdomain.com/auth/google/callbackCopy Client ID and Client Secret
Add Google OAuth configuration in .env file:
GOOGLE_CLIENT_ID=your_google_client_id_here
GOOGLE_CLIENT_SECRET=your_google_client_secret_hereReplace your_google_client_id_here and your_google_client_secret_here with the values you obtained from Google Cloud Console.
/admin/loginNote: If the Google email is already registered in the system, the application will link the Google account with the existing account.
This application uses a queue system to send email notifications asynchronously. Here's how to configure and run it:
Configure email in .env file:
# For development (log emails to file)
MAIL_MAILER=log
# For production (SMTP)
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your-app-password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="DewaKoding Project Management"Ensure queue configuration in .env:
QUEUE_CONNECTION=databaseTo process email notification queues, run the following commands:
php artisan queue:workphp artisan queue:work --daemon --tries=3 --timeout=60Install supervisor:
sudo apt-get install supervisorCreate configuration file /etc/supervisor/conf.d/laravel-worker.conf:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/your/project/artisan queue:work --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=8
redirect_stderr=true
stdout_logfile=/path/to/your/project/storage/logs/worker.log
stopwaitsecs=3600Restart supervisor:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*The application sends email notifications for:
Note: Make sure the queue worker is always running to process email notifications. Without the queue worker, emails will not be sent.
This project is licensed under the MIT License.
No open issues yet, or sync has not completed.