A modern project management web application built with Laravel
Features β’ Screenshots β’ Getting Started β’ Usage β’ Structure β’ Contributing β’ License
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.
- 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
- 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
- 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
- Task assignments with due dates and assignees
- Status tracking: Pending, In Progress, Completed
- Overdue detection with visual indicators
- 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)
- 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
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)
-
Clone the repository
git clone https://github.com/zrstars/Development-Project-Management-Web-Apps.git cd Development-Project-Management-Web-Apps -
Install PHP dependencies
composer install
-
Configure environment
cp .env.example .env php artisan key:generate
-
Create the database
touch database/database.sqlite
-
Run migrations and seed data
php artisan migrate --seed
-
Start the development server
php artisan serve
-
Open your browser and visit
http://localhost:8000
| Role | Password | |
|---|---|---|
| Super Admin | superadmin@projectflow.com |
admin123 |
| Admin | admin@projectflow.com |
admin123 |
| Project Manager | pm@projectflow.com |
pm123 |
| Assistant PM | apm@projectflow.com |
apm123 |
| Feature | Super Admin | Admin | Project Manager | Assistant PM |
|---|---|---|---|---|
| View Dashboard | β | β | β | β |
| Manage Projects | β | β | β | β |
| Manage Risks | β | β | β | β |
| Manage Issues | β | β | β | β |
| Manage Activities | β | β | β | β |
| Manage Users | β | β | β | β |
Creating a Project:
- Go to Projects β Click New Project
- Fill in project details (name, manager, dates, budget, priority)
- Save β the project will appear in the table with R/I/A counters
Flagging Important Risks/Issues:
- When creating or editing a risk/issue, check "Mark as Important"
- Important items automatically appear in the dashboard panels
Monitoring Progress:
- The Dashboard provides a bird's-eye view with charts
- The At Risk counter tracks projects with high/critical open risks or issues
βββ 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
| 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 |
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
Contributions are welcome! If you'd like to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
Please make sure your code follows the existing coding style and includes appropriate comments.
This project is licensed under the MIT License. See the LICENSE file for details.
- Laravel β The PHP framework for web artisans
- Chart.js β Simple yet flexible JavaScript charting
- Font Awesome β Vector icons and social logos
- Google Fonts β Inter typeface
Made with β€οΈ by zrstars







