This is a Laravel application for managing tasks. It includes features for task creation, updating, assigning, importing/exporting tasks to/from CSV, and sending real-time alerts via WebSockets when a task passes its due date.
Before you begin, ensure you have met the following requirements:
- PHP >= 8.2
- Composer
- MySQL
Follow these steps to set up and run the application:
-
Clone the repository
git clone https://github.com/muhammedjafer/task-management-api.git cd task-management-api
-
Update composer
composer update
-
Generate app key
php artisan key:generate
-
Create the env file
cp .env.example .env
-
Configure the env file for database and email in env
-
Run the migration
php artisan migrate
-
Seed the database
php artisan db:seed
-
Run the queue
php artisan queue:work
-
Running the websocket
php artisan reverb:start
-
Running the schedule for checking overdue task using websocket
php artisan schedule:run
-
Start the app
php artisan serve
-
Product owner email and password where APP_ENV is not production
email: productowner@system.com
password: productowner2024staging -
Product owner email and password where APP_ENV is production
email: productowner@system.com
password: productowner2024production -
Developer
email: developer@system.com
password: developer2024system -
Tester
email: tester@system.com
password: tester2024system
- To export tasks run the command below
php artisan export:tasks exported_tasks.csv
- To import tasks run the command below
php artisan import:tasks "exported_tasks.csv"
- Create user
php artisan user:create