How a7madbadri/taskatflow works
This is a Next.js task-management application with personal tasks, team collaboration, assignment tracking, notifications, and Google sign-in. Users authenticate, then view dashboards or enter task, team, and notification workflows; team owners can invite members and assign work. Server actions validate requests and coordinate service-layer operations backed by Prisma. The graph preserves the documented-by-source-index feature branches, but several UI and action implementations were not excerpted, so their internal links are omitted where evidence is insufficient.
Main entry points: prisma.ts Prisma Database · auth.ts Authentication · team.actions.ts Team Actions · page.tsx Task Dashboard
Components 27
Access and Shell
- Sign-In Screen
app/auth/signin/SignInForm.tsx - Authentication
auth.ts
Personal Tasks
- Task Dashboard
app/(user)/dashboard/page.tsx - Recent Personal Tasks
app/(user)/dashboard/components/LatestPersonalTasks.tsx - Recent Team Tasks
app/(user)/dashboard/components/LatestTeamsTasks.tsx - Task Summary Item
app/(user)/dashboard/components/MiniTask.tsx - Personal Tasks Page
app/(user)/tasks/page.tsx - Personal Task List
app/(user)/tasks/components/MyTasks.tsx - Task Controls
app/(user)/tasks/components/Task.tsx - Task Actions
lib/actions/task.actions.ts
Team Collaboration
- Teams Page
app/(user)/teams/page.tsx - Team Detail
app/(user)/teams/[id]/page.tsx - Team Task List
app/(user)/teams/components/TeamTasks.tsx - Task Assignment
app/(user)/teams/components/Assignment.tsx - Team Task Form
app/(user)/teams/components/CreateEditTeamTask.tsx - Team Actions
lib/actions/team.actions.ts - Team Services
lib/services/team.services.ts - Membership Services
lib/services/membership.services.ts - Invite Members
app/(user)/teams/[id]/invite-members/page.tsx
Notifications and Services
- Notifications Page
app/(user)/notifications/page.tsx - Notification Item
app/(user)/notifications/components/Notification.tsx - Notification Header
app/(user)/notifications/components/NotificationsHeader.tsx - Notification Actions
lib/actions/notification.actions.ts - Notification Services
lib/services/notificatoin.services.ts
Persistence
- Prisma Database
lib/prisma.ts
Other components
- User
- Google Sign-In
Connections 41
- User → Sign-In Screen: opens
- Sign-In Screen → Authentication: signs in
app/auth/signin/SignInForm.tsx - Authentication → Google Sign-In: authenticates with
auth.ts - Authentication → Prisma Database: uses adapter
auth.ts - User → Task Dashboard: views
- Task Dashboard → Authentication: checks session
app/(user)/dashboard/page.tsx - Task Dashboard → Prisma Database: queries tasks
app/(user)/dashboard/page.tsx - Task Dashboard → Recent Personal Tasks: renders
app/(user)/dashboard/page.tsx - Task Dashboard → Recent Team Tasks: renders
app/(user)/dashboard/page.tsx - Recent Personal Tasks → Task Summary Item: renders
app/(user)/dashboard/components/LatestPersonalTasks.tsx - Recent Team Tasks → Task Summary Item: renders
app/(user)/dashboard/components/LatestTeamsTasks.tsx - Task Summary Item → Task Actions: calls
app/(user)/dashboard/components/MiniTask.tsx - User → Personal Tasks Page: manages tasks
- Personal Tasks Page → Personal Task List: renders
- Personal Task List → Task Controls: renders
app/(user)/tasks/components/MyTasks.tsx - Task Controls → Task Actions: calls
app/(user)/tasks/components/Task.tsx - User → Teams Page: manages teams
- Team Detail → Authentication: checks session
app/(user)/teams/[id]/page.tsx - Team Detail → Prisma Database: loads team
app/(user)/teams/[id]/page.tsx - Team Detail → Team Task List: renders
app/(user)/teams/[id]/page.tsx - Team Task List → Task Assignment: renders
app/(user)/teams/components/TeamTasks.tsx - Team Task List → Team Task Form: renders
app/(user)/teams/components/TeamTasks.tsx - Task Assignment → Team Actions: calls
app/(user)/teams/components/Assignment.tsx - Team Task Form → Team Actions: calls
app/(user)/teams/components/CreateEditTeamTask.tsx - Team Actions → Authentication: checks session
lib/actions/team.actions.ts - Team Actions → Team Services: calls
lib/actions/team.actions.ts - Team Actions → Membership Services: calls
lib/actions/team.actions.ts - Team Actions → Prisma Database: accesses via services
- Team Services → Membership Services: creates memberships
lib/services/team.services.ts - Team Services → Notification Services: creates invitations
lib/services/team.services.ts - Team Services → Prisma Database: reads and writes
lib/services/team.services.ts - Membership Services → Notification Services: marks read
lib/services/membership.services.ts - Membership Services → Prisma Database: reads and writes
lib/services/membership.services.ts - Notification Services → Prisma Database: reads and writes
lib/services/notificatoin.services.ts - User → Invite Members: invites members
- User → Notifications Page: views notifications
- Notifications Page → Authentication: checks session
app/(user)/notifications/page.tsx - Notifications Page → Prisma Database: loads counts
app/(user)/notifications/page.tsx - Notifications Page → Notification Item: renders
app/(user)/notifications/page.tsx - Notification Item → Notification Actions: calls
app/(user)/notifications/components/Notification.tsx - Notification Header → Notification Actions: calls
app/(user)/notifications/components/NotificationsHeader.tsx