A Laravel 9 task management system featuring role-based access control for Admins, Managers, and Employees. Designed to streamline task assignment, tracking, and completion in an organization.
- Create, update, and soft delete Users (Managers and Employees).
- View all tasks across the system.
- Role-based account creation with email & password.
- Create, assign, edit, and delete Tasks.
- Manage only their own Employees.
- Cannot edit or delete a task after it is accepted by an employee.
- View assigned tasks.
- Accept tasks to mark them as In Progress.
- Complete tasks to mark them as Completed.
Each user has a role-specific dashboard with:
- Task counters for:
- Pending
- In Progress
- Completed
- Relevant actions based on their permissions.
- Laravel 9
- MySQL
- Blade Templates
- TailWind CSS
- Eloquent ORM
- Role-Based Middleware Authorization
- Open the project folder in a text editor or IDE of your choice (e.g., VS Code, PhpStorm).
- In the project root, rename the
.env.example
file to.env
. - Insert your database connection information and other environment-specific configurations in the
.env
file.
- Open your terminal and navigate to the project directory.
- Run the following command to install PHP dependencies:
composer install
- Next, generate the application key by running:
php artisan key:generate
- Install Node.js dependencies by running the following command:
npm install
- Compile and build the frontend assets by running:
npm run dev
- To set up the database schema and seed your database with initial data, run the following command:
php artisan migrate --seed
- Finally, you can start the development server by running:
php artisan serve
- Your application will be live at
http://127.0.0.1:8000
.
Now you can start using the project! 🎉
Mustafa Azmi Khalil
Full-stack developer passionate about building beautiful and user-friendly interfaces.
📬 Email Me
Feel free to star ⭐ this repo if you find it useful!