Skip to content

RodneySsemambo/project-management-dashboard

Repository files navigation

πŸš€ Project Management Dashboard

![Project Management Dashboard] Edit Et neque sed corporis quidem animi  - Project_Mgt - Google Chrome 16_10_2025 09_39_05

A powerful Admin Dashboard built with Laravel & Filament for efficient project, task, and team management

Laravel Filament License Demo

🌐 Live Demo β€’ πŸ“§ Contact β€’ πŸ’Ό Hire Me


πŸ“‹ Table of Contents


🎯 Overview

Project Management Dashboard is a comprehensive web application designed to help businesses, teams, and organizations efficiently manage their projects from start to finish. Built with modern technologies and best practices, it provides an intuitive interface for tracking projects, managing tasks, coordinating teams, and maintaining client relationships.

πŸ’‘ Perfect For:

  • 🏒 Small to Medium Businesses β€” Manage multiple projects and teams
  • πŸ‘¨β€πŸ’Ό Project Managers β€” Track progress, assign tasks, monitor deadlines
  • πŸ‘₯ Development Teams β€” Collaborate on software projects
  • 🎨 Creative Agencies β€” Handle client projects and deliverables
  • 🏫 Educational Institutions β€” Manage academic projects and assignments
  • πŸš€ Startups β€” Organize workflows and scale efficiently

🌟 Features

πŸ” Role-Based Access Control (RBAC)

  • Admin: Full system access and configuration
  • Manager: Project and team management capabilities
  • Member: Task execution and reporting
  • Powered by Spatie Permission + Filament Shield

πŸ“Š Project Management

  • Create and manage unlimited projects
  • Assign projects to specific clients
  • Set start dates, deadlines, and budgets
  • Track project status (Planning, In Progress, Completed, On Hold)
  • Link multiple tasks to each project
  • Monitor project progress with visual indicators

πŸ‘₯ Client Management

  • Maintain comprehensive client database
  • Store contact information and addresses
  • View all projects associated with each client
  • Track client communications and history

βœ… Task Tracking

  • Create and assign tasks to team members
  • Set task priorities (Low, Medium, High, Critical)
  • Track task status (Pending, In Progress, Completed)
  • Set due dates and monitor deadlines
  • Add task descriptions and notes
  • Filter and search tasks easily

πŸ“ Category Organization

  • Organize projects by categories
  • Create custom categories for different project types
  • Filter and group projects efficiently
  • Better organization and reporting

πŸ“ˆ Dashboard Analytics

  • Real-time statistics and tablees
  • Visual charts and graphs
  • Project completion rates
  • Task distribution overview
  • Team performance metrics
  • Upcoming deadlines and reminders

🎨 Modern UI/UX

  • Clean and intuitive interface powered by Filament
  • Responsive design (Desktop, Tablet, Mobile)
  • Dark mode support
  • Fast and smooth navigation
  • Beautiful data tables with advanced filters
  • Export data to PDF/Excel

πŸ”’ Security Features

  • Secure authentication system
  • Password encryption
  • CSRF protection
  • SQL injection prevention
  • XSS protection
  • Role-based route protection

πŸ“Έ Screenshots

Click to expand all screenshots

🏠 Dashboard Overview

![Dashboard Home] Edit Et neque sed corporis quidem animi  - Project_Mgt - Google Chrome 16_10_2025 09_38_50

Main dashboard with tables and quick actions

πŸ“Š Projects Management

![Projects List] Dashboard - Project_Mgt - Google Chrome 16_10_2025 09_33_38

Complete projects list with filters, search, and bulk actions

![Project Details] Dashboard - Project_Mgt - Google Chrome 16_10_2025 09_34_05

Detailed project view with associated tasks and team members

βœ… Task Management

![Tasks List] Edit Et neque sed corporis quidem animi  - Project_Mgt - Google Chrome 16_10_2025 09_35_01

Task management with status tracking and assignments

![Task Kanban Board] Dashboard - Project_Mgt - Google Chrome 16_10_2025 09_34_19

Visual task board for better workflow management

πŸ‘₯ Team & Users

![User Management] Edit Et neque sed corporis quidem animi  - Project_Mgt - Google Chrome 16_10_2025 09_35_33

User management with role assignments Edit Et neque sed corporis quidem animi  - Project_Mgt - Google Chrome 16_10_2025 09_36_07

![Roles & Permissions] Edit Et neque sed corporis quidem animi  - Project_Mgt - Google Chrome 16_10_2025 09_36_18

Fine-grained permission control Edit Et neque sed corporis quidem animi  - Project_Mgt - Google Chrome 16_10_2025 09_38_18

πŸ‘€ Client Management

![Clients List] Dashboard - Project_Mgt - Google Chrome 16_10_2025 09_32_49

Client database with contact information Dashboard - Project_Mgt - Google Chrome 16_10_2025 09_33_20 - Copy

Fully responsive design for mobile devices


πŸ› οΈ Tech Stack

Backend

  • Framework: Laravel 12
  • PHP: 8.2+
  • Database: PostgreSQL / MySQL
  • Authentication: Laravel Sanctum
  • Authorization: Spatie Laravel Permission

Frontend

  • Admin Panel: Filament 4.x
  • UI Framework: TailwindCSS
  • JavaScript: Alpine.js
  • Icons: Heroicons

Development Tools

  • Version Control: Git & GitHub
  • Package Manager: Composer
  • Build Tool: Vite
  • Code Quality: Laravel Pint

Deployment

  • Hosting: Render.com
  • Database: PostgreSQL (Render)
  • Domain: Custom domain support
  • SSL: Auto-managed HTTPS

βš™οΈ Installation

Prerequisites

Before you begin, ensure you have the following installed:

  • PHP 8.2 or higher
  • Composer
  • Node.js & NPM
  • PostgreSQL or MySQL
  • Git

Step-by-Step Setup

1️⃣ Clone the Repository

git clone https://github.com/ssemamb/project-management-dashboard.git
cd project-management-dashboard

2️⃣ Install PHP Dependencies

composer install

3️⃣ Install Node Dependencies

npm install

4️⃣ Environment Configuration

# Copy the example environment file
cp .env.example .env

# Generate application key
php artisan key:generate

5️⃣ Configure Database

Edit .env file and add your database credentials:

DB_CONNECTION=pgsql  # or mysql
DB_HOST=127.0.0.1
DB_PORT=5432         # 3306 for MySQL
DB_DATABASE=project_mgt
DB_USERNAME=your_username
DB_PASSWORD=your_password

6️⃣ Run Migrations & Seed Database

# Run migrations
php artisan migrate

# Seed with demo data (optional)
php artisan db:seed

7️⃣ Create Storage Link

php artisan storage:link

8️⃣ Build Frontend Assets

npm run build

9️⃣ Create Admin User

php artisan make:filament-user

Follow the prompts to create your admin account.

πŸ”Ÿ Start Development Server

php artisan serve

Visit: http://localhost:8000/admin


πŸ”‘ Demo Credentials

Try the live demo with these credentials:

Admin Account

  • Email: rodney@gmail.com
  • Password: 1234567m
  • Access: Full system access

⚠️ Note: Demo data is reset every 24 hours


πŸ—„οΈ Database Structure

Core Entities

Users

  • id, name, email, password, role_id
  • Relationships: belongsTo Role, hasMany Tasks, belongsToMany Projects

Projects

  • id, name, description, client_id, category_id, status, start_date, end_date, budget
  • Relationships: belongsTo Client/Category, hasMany Tasks, belongsToMany Users

Tasks

  • id, title, description, project_id, assigned_to, status, priority, due_date
  • Relationships: belongsTo Project/User

Clients

  • id, name, email, phone, address
  • Relationships: hasMany Projects

Categories

  • id, name, description
  • Relationships: hasMany Projects

Roles

  • id, name, description
  • Relationships: hasMany Users, belongsToMany Permissions

Database Diagram

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Users  │───────│  Roles   β”‚       β”‚ Clients  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     β”‚                                      β”‚
     β”‚            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
     └────────────│   Projects   β”‚β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                        β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  Tasks   β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  Categories  β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‘ API Documentation

This system includes a RESTful API for external integrations (coming soon).

Planned Endpoints

GET    /api/projects          - List all projects
POST   /api/projects          - Create new project
GET    /api/projects/{id}     - Get project details
PUT    /api/projects/{id}     - Update project
DELETE /api/projects/{id}     - Delete project

GET    /api/tasks             - List all tasks
POST   /api/tasks             - Create new task
GET    /api/tasks/{id}        - Get task details
PUT    /api/tasks/{id}        - Update task
DELETE /api/tasks/{id}        - Delete task

Full API documentation will be available soon using Postman/OpenAPI


πŸš€ Deployment

Deploy on Render.com (Recommended)

1. Create PostgreSQL Database

  1. Go to Render.com
  2. Click New + β†’ PostgreSQL
  3. Configure:
    • Name: project-mgt-db
    • Region: Frankfurt (Europe) or Oregon (US)
    • Plan: Free
  4. Click Create Database
  5. Save the Internal Database URL

2. Create Web Service

  1. Click New + β†’ Web Service
  2. Connect your GitHub repository
  3. Configure:
    • Name: project-management-dashboard
    • Region: Same as database
    • Branch: main
    • Build Command: ./render-build.sh
    • Start Command: php artisan serve --host=0.0.0.0 --port=$PORT
    • Plan: Free

3. Add Environment Variables

Add these in the Environment section:

APP_NAME=Project Management System
APP_ENV=production
APP_KEY=[auto-generated]
APP_DEBUG=false
APP_URL=https://your-app.onrender.com

DB_CONNECTION=pgsql
DB_HOST=[from database]
DB_PORT=5432
DB_DATABASE=[from database]
DB_USERNAME=[from database]
DB_PASSWORD=[from database]

SESSION_DRIVER=database
CACHE_DRIVER=database

4. Deploy

Click Create Web Service and wait 5-10 minutes for deployment.

Other Hosting Options

  • AWS EC2 β€” Full control, requires setup
  • DigitalOcean β€” Droplets starting at $4/month
  • Heroku β€” Easy deployment, $7/month
  • Railway β€” Modern platform, generous free tier

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow PSR-12 coding standards
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

What this means:

βœ… Commercial use
βœ… Modification
βœ… Distribution
βœ… Private use


πŸ“ž Contact & Support

πŸ‘¨β€πŸ’» Developer

*SsemamboRodney

πŸ’° Hire Me

I'm available for freelance Laravel & Filament development:

  • πŸ”§ Custom Dashboard Development
  • 🎨 UI/UX Implementation
  • πŸ”Œ API Integration
  • πŸ› Bug Fixes & Optimization

Platforms:


🎯 Roadmap

Future features planned:

  • API with full documentation
  • Real-time notifications
  • File attachments for tasks
  • Time tracking functionality
  • Gantt chart visualization
  • Team chat integration
  • Email notifications
  • Report generation (PDF/Excel)
  • Multi-language support

πŸ™ Acknowledgments


⭐ Show Your Support

Give a ⭐️ if this project helped you or you found it interesting!


Made with ❀️ in Uganda πŸ‡ΊπŸ‡¬

⬆ Back to Top

About

Professional project management system built with Laravel 12 & Filament 4. Features include project tracking, task management, team collaboration, role-based access control, and real-time dashboards. Perfect for businesses and organizations managing multiple projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages