Skip to content

Mustafa21102005/laravel-taskflow-manager

Repository files navigation

Laravel TaskFlow Manager

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.


🚀 Features

👤 Admin Role

  • Create, update, and soft delete Users (Managers and Employees).
  • View all tasks across the system.
  • Role-based account creation with email & password.

👨‍💼 Manager Role

  • Create, assign, edit, and delete Tasks.
  • Manage only their own Employees.
  • Cannot edit or delete a task after it is accepted by an employee.

👷 Employee Role

  • View assigned tasks.
  • Accept tasks to mark them as In Progress.
  • Complete tasks to mark them as Completed.

📊 Dashboard Overview

Each user has a role-specific dashboard with:

  • Task counters for:
    • Pending
    • In Progress
    • Completed
  • Relevant actions based on their permissions.

🛠️ Built With

  • Laravel 9
  • MySQL
  • Blade Templates
  • TailWind CSS
  • Eloquent ORM
  • Role-Based Middleware Authorization

🚀 Installation Guide

1. After Opening the project in Your Preferred Text Editor

  • Open the project folder in a text editor or IDE of your choice (e.g., VS Code, PhpStorm).

2. Rename .env.example to .env

  • 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.

3. Install PHP Dependencies

  • Open your terminal and navigate to the project directory.
  • Run the following command to install PHP dependencies:
    composer install
    

4. Generate Application Key

  • Next, generate the application key by running:
    php artisan key:generate
    

5. Install Node.js Dependencies

  • Install Node.js dependencies by running the following command:
    npm install
    

6. Compile Frontend Assets

  • Compile and build the frontend assets by running:
    npm run dev

7. Run Database Migrations and Seeders

  • To set up the database schema and seed your database with initial data, run the following command:
    php artisan migrate --seed
    

8. Run the Project

  • Finally, you can start the development server by running:
    php artisan serve
    
  • Your application will be live at http://127.0.0.1:8000.

🎉 You're Ready to Go!

Now you can start using the project! 🎉


📧 Author

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!

About

A Laravel 9 task management system featuring role-based access control for Admins, Managers, and Employees.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages