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

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors