Skip to content

cpscott1/bridge2tech-team-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 

Repository files navigation


4-Week Full-Stack Team Project: Task Management Application

Project Type: Full-Stack Web Application
Team Size: 4 Developers
Timeline: 4 Weeks
Tech Stack: PHP/Laravel, MySQL, JavaScript, HTML/CSS
Bonus Points: Laravel Framework Usage


πŸ“‹ Project Overview

Build a collaborative Task Management Application where teams can create projects, assign tasks, track progress, and manage team workflows. This project integrates full-stack development skills: PHP fundamentals, Laravel MVC, MySQL databases, JavaScript interactions, and authentication.[1]


🎯 Learning Objectives

By completing this project, students will demonstrate proficiency in:

  • PHP & Laravel: Server-side logic, routing, controllers, models, Blade templating
  • Database Design: MySQL schema design, migrations, relationships, CRUD operations
  • Authentication: User registration, login, role-based access control (RBAC)
  • JavaScript: Dynamic UI updates, AJAX requests, form validation
  • Git Workflow: Feature branching, pull requests, code reviews, merge conflicts
  • Team Collaboration: Agile planning, task distribution, communication[1]

πŸ—οΈ Core Requirements

1. User Authentication & Authorization

  • User registration with email validation
  • Secure login/logout functionality
  • Password hashing (bcrypt)
  • Role-Based Access Control (RBAC):
    • Admin: Full access to all projects and users
    • Project Manager: Can create projects and assign tasks
    • Team Member: Can view assigned tasks and update status
  • User profile page with editable information

2. Project Management

  • Create projects: name, description, dates, status
  • View all projects (filtered by role)
  • Edit and soft-delete projects
  • Assign team members to projects

3. Task Management

  • Create tasks: title, description, priority, status, due date, assigned user
  • View/filter tasks by project/user/status/priority
  • Update task status (drag-and-drop)
  • Edit/delete/complete tasks

4. Dashboard & Reporting

  • User dashboard: assigned tasks, upcoming deadlines, stats
  • Project dashboard: team members, task breakdown, completion %
  • Visual indicators: progress bars, color coding

5. Database Requirements

  • MySQL database: users, projects, tasks, project_user (pivot, many-to-many)
  • Foreign key relationships
  • Laravel migrations/seeders (bonus)

6. User Interface

  • Responsive design (mobile, tablet, desktop)
  • Consistent navigation, form validation (JS/PHP), accessible and friendly UX

7. Security

  • SQL injection prevention (PDO/Eloquent)
  • XSS protection (escape output)
  • CSRF protection (tokens)
  • Input validation/sanitization
  • Enforced secure password requirements[1]

πŸš€ Bonus Features (Extra Credit)

  • Comprehensive Laravel implementation (+20 points)
  • Advanced features (+10 points each):
    • Real-time notifications
    • File attachments
    • Task comments/discussion
    • Email notifications
    • Audit trail
    • Search across projects/tasks
    • Export reports (PDF/CSV)
    • Dark mode
  • JavaScript enhancements:
    • Kanban drag-and-drop
    • Dynamic forms
    • Auto-save drafts
    • Character counts
    • Modal windows

πŸ‘₯ Team Roles & Responsibilities

Role Primary Responsibilities Key Deliverables
Backend Lead (PHP/Laravel) Architecture, schema/migrations, authentication, API, validation Auth system, migrations, CRUD, API
Frontend Lead (UI/UX) Responsive layouts, templates, CSS, accessibility, UI consistency Layouts, forms, navigation, dashboards
JS Developer (Interactivity) Client form validation, AJAX, drag-and-drop, dynamic feedback JS scripts, AJAX updates, dashboards
DB & Testing Lead (Data) Schema design/optimization, queries, testing, data seeding Schema docs, queries, test data

πŸ› οΈ Project Management Process

  • Kickoff planning: Requirements, roles, environment, Git workflow (branching, PRs, code review)
  • Backend foundation: Auth, migrations, CRUD
  • Frontend integration: UI, role-based navigation, AJAX
  • Polish and deployment: Full testing, security checks, docs, deployment readiness

πŸ“ Documentation Section

Team Members

  • Backend Lead: [Name]
  • Frontend Lead: [Name]
  • JavaScript Developer: [Name]
  • DB & Testing Lead: [Name]

Installation

  1. Clone repository
  2. Run composer install (if Laravel)
  3. Configure .env (DB creds)
  4. Run php artisan migrate --seed or import SQL
  5. Start dev server: php artisan serve or configure web server

Features Implemented

  • Auth (RBAC)
  • Project/task CRUD
  • Dashboard stats
  • Responsive design

Tech Stack

  • PHP 8+, Laravel 10+
  • MySQL 8+
  • JavaScript (ES6+)
  • HTML5/CSS3
  • Git

API Endpoints (Laravel Example)

  • POST /api/tasks/{id}/status – Update task status
  • GET /api/projects/{id}/stats – Get project statistics

Known Issues & Future Enhancements

  • [Add as needed]

πŸ† Grading Rubric (100 Points)

  • Backend: 30 – Auth (8), project CRUD (7), task CRUD (7), design (5), API (3)
  • Frontend/UX: 25 – Responsive (8), UX (7), validation (5), consistency (5)
  • JavaScript: 15 – AJAX (5), validation (5), UI interactions (5)
  • Security: 10 – SQLi (3), XSS (3), CSRF (2), Validation (2)
  • Git/Collab: 10 – Good commits (3), branching (2), PRs (3), no broken code (2)
  • Docs: 10 – README (3), code comments (2), presentation (5)
  • Bonus: Up to +40 for advanced/Laravel/extra features

πŸ“Š Milestones & Instructor Reviews

  • Week 1: Planning, schema, repo, roles – 25%
  • Week 2: Auth, migrations, CRUD – 50%
  • Week 3: UI integration, AJAX, RBAC enforced – 75%
  • Week 4: Presentation/demo, full feature checklist – 100%

πŸ› οΈ Technical Specs

  • PHP 8+, MySQL 8+, Composer, Node.js/npm, Git
  • Detailed file structures for both Laravel and plain PHP projects are included

πŸ’‘ Development Tips

  • Start with authentication
  • Use migrations, prepared statements, middleware for security
  • Responsive and accessible UI
  • Clean, meaningful commit messages

🚨 Common Pitfalls

  • Avoid merge conflicts (pull often from dev)
  • Use config for credentials, not hardcoded values
  • Always review each other’s code
  • Validate/sanitize all user input

πŸŽ“ Learning Resources

  • Laravel Docs, PHP Manual, Laracasts
  • MDN Web Docs, JavaScript.info
  • MySQL Docs, Lucidchart for DB design
  • GitHub Flow

πŸ“ Submission Requirements

  • Code in organized GitHub repo (README, code comments)
  • All members with meaningful commit history
  • Deployed demo/localhost, sample data loaded, full features
  • Presentation with live demo, technical discussion, Q&A

πŸŽ‰ Success Criteria

  • All core features, security, responsive UX, solid team workflow, comprehensive docs, zero critical bugs
  • Bonus for advanced Laravel implementation

πŸ’¬ Support

  • Daily syncs (optional), instructor check-ins, dedicated team chat, office hours

_Remember: Focus on communication, planning, testing, and documentation as you build. Good luck and happy coding!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published