In-class Activity
Your class will create a Collaborative Task Management System for a fictional company,
“TeamFlow”, which wants a platform to help teams manage their tasks efficiently. The Laravel
and MERN groups will develop their versions of the system and present their solutions.
Requirements
The system should include the following features:
1. User Authentication:
o Users must register, log in, and log out.
o Only authenticated users can access the task management features.
2. Task Management:
o Users can:
§ Create tasks (title, description, due date, status).
§ View a list of their tasks.
§ Update task details (e.g., change the status or edit the title).
§ Delete tasks.
3. Team Collaboration:
o Users can assign tasks to team members (other registered users).
o Notifications should be sent to team members when tasks are assigned (simple
UI indicator or console log).
4. Real-Time Updates (Bonus):
o When a task is updated (e.g., status changed or assigned to someone), the system
should reflect changes in real-time.
Instructions for Groups
Group 1: Laravel
• Use Laravel to develop the backend.
• Key tasks:
o Implement RESTful APIs for user authentication, task management, and team
collaboration.
o Use Eloquent for database interactions (e.g., users, tasks, task assignments).
o Optional: Use Laravel Echo with Pusher or WebSockets for real-time updates.
1
• Frontend:
o Use Blade templates for building the user interface.
o Optional: Integrate [Link] for dynamic UI components.
Group 2: MERN
• Use the MERN stack to develop the application.
• Key tasks:
o Implement a [Link]/[Link] backend for RESTful APIs.
o Use MongoDB to store users, tasks, and task assignments.
o Use React to build the frontend, fetching data from the backend via API calls.
o Optional: Use [Link] for real-time updates.
Work Distribution
Each group should:
1. Backend Team:
o Design and implement APIs.
o Handle authentication, database schema, and relationships (e.g., task ownership
and assignments).
2. Frontend Team:
o Build the user interface for task management features.
o Handle API integration and dynamic updates.
Presentation
At the end of the activity, each group will:
1. Present their application (demo the working features).
2. Share their challenges and solutions.
3. Compare their implementation approach with the other group:
o How authentication was handled.
o Database design differences (relational vs. NoSQL).
o Ease of integration between frontend and backend.