Skip to content

zrstars/Development-Project-Management-Web-Apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ProjectFlow Dashboard

ProjectFlow

A modern project management web application built with Laravel

Features β€’ Screenshots β€’ Getting Started β€’ Usage β€’ Structure β€’ Contributing β€’ License

PHP Laravel SQLite Chart.js License


Overview

ProjectFlow is a full-stack project management dashboard designed to help teams track projects, manage risks, issues, and activities in one centralized platform. Built with Laravel and featuring a custom glassmorphism UI design, it provides real-time analytics and role-based access control for different team members.

This project was built to explore Laravel's MVC architecture, Eloquent relationships, middleware-based authorization, and responsive dashboard design patterns.


Features

Dashboard & Analytics

  • Summary cards β€” Total, active, completed, and at-risk project counts
  • Interactive charts β€” Status distribution (doughnut), risk severity (bar), PM workload (bar), and progress overview (horizontal bar) powered by Chart.js
  • Important items panel β€” Displays flagged risks and issues with their associated project names
  • Upcoming activities β€” Shows pending tasks with due date countdowns

Project Management

  • Full CRUD operations for projects
  • Track progress, budget, priority, status, and timeline
  • R/I/A indicators β€” See risk, issue, and activity counts per project at a glance
  • Detail view with related risks, issues, and activities

Risk & Issue Tracking

  • Separate modules for risks and issues
  • Severity levels: Low, Medium, High, Critical
  • Status workflow tracking (Open β†’ Investigating β†’ Resolved β†’ Closed)
  • Important flag β€” Mark critical items to appear on the dashboard
  • Mitigation plans for risks, resolution notes for issues

Activity Management

  • Task assignments with due dates and assignees
  • Status tracking: Pending, In Progress, Completed
  • Overdue detection with visual indicators

User Management & Authentication

  • Session-based authentication
  • 4 user roles: Super Admin, Admin, Project Manager, Assistant PM
  • Role-based access control β€” User management is restricted to Super Admin and Admin only
  • User status management (Active/Inactive)

UI/UX

  • Glassmorphism design β€” Frosted glass effects with backdrop-filter
  • Dark theme β€” Easy on the eyes for extended use
  • Animated login page with floating gradient orbs
  • Responsive layout β€” Works on desktop, tablet, and mobile
  • Color-coded badges for status, priority, severity, and roles
  • Modal-based forms with smooth animations
  • Toast notifications for user feedback

Screenshots

πŸ–₯️ Click to view all screenshots

Login Page

Login

Dashboard

Dashboard

Projects

Projects

Project Detail

Project Detail

Risks

Risks

Issues

Issues

Activities

Activities

User Management

Users

Getting Started

Prerequisites

Make sure your system has the following installed:

  • PHP >= 8.2
  • Composer >= 2.x
  • Node.js >= 18.x (optional, for Vite asset compilation)
  • SQLite (usually bundled with PHP)

Installation

  1. Clone the repository

    git clone https://github.com/zrstars/Development-Project-Management-Web-Apps.git
    cd Development-Project-Management-Web-Apps
  2. Install PHP dependencies

    composer install
  3. Configure environment

    cp .env.example .env
    php artisan key:generate
  4. Create the database

    touch database/database.sqlite
  5. Run migrations and seed data

    php artisan migrate --seed
  6. Start the development server

    php artisan serve
  7. Open your browser and visit http://localhost:8000

Default Accounts

Role Email Password
Super Admin superadmin@projectflow.com admin123
Admin admin@projectflow.com admin123
Project Manager pm@projectflow.com pm123
Assistant PM apm@projectflow.com apm123

Usage

Role Permissions

Feature Super Admin Admin Project Manager Assistant PM
View Dashboard βœ… βœ… βœ… βœ…
Manage Projects βœ… βœ… βœ… βœ…
Manage Risks βœ… βœ… βœ… βœ…
Manage Issues βœ… βœ… βœ… βœ…
Manage Activities βœ… βœ… βœ… βœ…
Manage Users βœ… βœ… ❌ ❌

Key Workflows

Creating a Project:

  1. Go to Projects β†’ Click New Project
  2. Fill in project details (name, manager, dates, budget, priority)
  3. Save β€” the project will appear in the table with R/I/A counters

Flagging Important Risks/Issues:

  1. When creating or editing a risk/issue, check "Mark as Important"
  2. Important items automatically appear in the dashboard panels

Monitoring Progress:

  1. The Dashboard provides a bird's-eye view with charts
  2. The At Risk counter tracks projects with high/critical open risks or issues

Project Structure

β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Http/
β”‚   β”‚   β”œβ”€β”€ Controllers/
β”‚   β”‚   β”‚   β”œβ”€β”€ AuthController.php          # Login/logout
β”‚   β”‚   β”‚   β”œβ”€β”€ DashboardController.php     # Dashboard + chart data API
β”‚   β”‚   β”‚   β”œβ”€β”€ ProjectController.php       # Project CRUD
β”‚   β”‚   β”‚   β”œβ”€β”€ RiskController.php          # Risk CRUD
β”‚   β”‚   β”‚   β”œβ”€β”€ IssueController.php         # Issue CRUD
β”‚   β”‚   β”‚   β”œβ”€β”€ ActivityController.php      # Activity CRUD
β”‚   β”‚   β”‚   └── UserController.php          # User CRUD (admin)
β”‚   β”‚   └── Middleware/
β”‚   β”‚       └── RoleMiddleware.php          # Role-based access control
β”‚   └── Models/
β”‚       β”œβ”€β”€ User.php                        # User with role helpers
β”‚       β”œβ”€β”€ Project.php                     # Project + relationships
β”‚       β”œβ”€β”€ Risk.php                        # Risk (belongs to project)
β”‚       β”œβ”€β”€ Issue.php                       # Issue (belongs to project)
β”‚       └── Activity.php                    # Activity (belongs to project)
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ migrations/                         # Schema definitions
β”‚   └── seeders/
β”‚       └── DatabaseSeeder.php              # Sample data for demo
β”œβ”€β”€ resources/views/
β”‚   β”œβ”€β”€ auth/login.blade.php                # Login page
β”‚   β”œβ”€β”€ layouts/app.blade.php               # Main layout + sidebar
β”‚   β”œβ”€β”€ dashboard.blade.php                 # Dashboard with charts
β”‚   β”œβ”€β”€ projects/{index,show}.blade.php     # Project views
β”‚   β”œβ”€β”€ risks/index.blade.php               # Risk management
β”‚   β”œβ”€β”€ issues/index.blade.php              # Issue tracking
β”‚   β”œβ”€β”€ activities/index.blade.php          # Activity management
β”‚   └── users/index.blade.php               # User management
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ css/style.css                       # Glassmorphism theme
β”‚   └── js/app.js                           # Modal helpers
β”œβ”€β”€ routes/web.php                          # All routes
└── docs/
    └── screenshots/                        # Application screenshots

Tech Stack

Layer Technology Purpose
Backend Laravel 12, PHP 8.4 MVC framework, routing, Eloquent ORM
Database SQLite Lightweight, zero-config storage
Frontend Blade Templates Server-side rendering
Styling Vanilla CSS Custom glassmorphism design system
Charts Chart.js 4.4 Interactive dashboard visualizations
Icons Font Awesome 6.5 UI iconography
Typography Inter (Google Fonts) Modern, readable typeface

Database Schema

users
β”œβ”€β”€ id, name, email, password
β”œβ”€β”€ role (Super Admin | Admin | Project Manager | Assistant PM)
└── status (Active | Inactive)

projects
β”œβ”€β”€ id, name, description, manager
β”œβ”€β”€ status, priority, progress
β”œβ”€β”€ start_date, end_date, budget
β”œβ”€β”€ β†’ has many: risks, issues, activities

risks
β”œβ”€β”€ id, project_id (FK), title, description
β”œβ”€β”€ severity, status, mitigation
β”œβ”€β”€ important (boolean), reported_date

issues
β”œβ”€β”€ id, project_id (FK), title, description
β”œβ”€β”€ severity, status, resolution
β”œβ”€β”€ important (boolean), reported_date

activities
β”œβ”€β”€ id, project_id (FK), title, description
β”œβ”€β”€ assignee, due_date, status

Contributing

Contributions are welcome! If you'd like to contribute:

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

Please make sure your code follows the existing coding style and includes appropriate comments.


License

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


Acknowledgments


Made with ❀️ by zrstars

About

A modern project management dashboard built with Laravel 12. Features glassmorphism UI, role-based access control, risk/issue tracking, and real-time analytics with Chart.js.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors