How gaurav0330/project-management-tool works
YojanaDesk is a role-based project-management platform: managers create projects and assign leads, leads organize teams and delegate work, and members submit task progress for review. The React application calls a GraphQL backend backed by MongoDB; it also supports AI-assisted assignment, GitHub task updates, analytics, chat, and video calls. The graph follows relationships visible in excerpts or explicitly described in the README; several feature-specific resolver and UI links are documented capabilities rather than inspected call paths.
Main entry points: index.js GraphQL API · projectManager.js Project operations · App.jsx Role-based app · taskSuggestion.js Assignment suggestions
Components 26
Web application
- Role-based app
frontend/src/App.jsx - Project workflows
frontend/src/pages/ProjectManager - Lead workflows
frontend/src/pages/TeamLead - Member workflows
frontend/src/pages/TeamMember - Chat and calls
frontend/src/pages/Chat - Analytics dashboards
frontend/src/pages/ProjectManager/AnalyticsDashboard.jsx
API and workflows
- GraphQL API
backend/graphql/resolvers/index.js - Project operations
backend/graphql/resolvers/projectManager.js - Assignment suggestions
backend/graphql/resolvers/taskSuggestion.js - Project and task services
backend/services - Authentication
backend/services/authService.js - HTTP and GraphQL server
backend/server.js
Realtime collaboration
- Message service
backend/services/messageService.js - Chat sockets
backend/socket.js - Video signaling
backend/socket/videoSignal.js - Meeting records
backend/models/Meeting.js
Domain data
External integrations
- GitHub
- Email service
backend/services/emailService.js
Other components
- Project manager
- Team lead
- Team member
Connections 36
- Project manager → Role-based app: uses
README.md - Team lead → Role-based app: uses
README.md - Team member → Role-based app: uses
README.md - Role-based app → Project workflows: routes to
frontend/src/App.jsx - Role-based app → Lead workflows: routes to
frontend/src/App.jsx - Role-based app → Member workflows: routes to
frontend/src/App.jsx - Role-based app → Chat and calls: routes to
frontend/src/App.jsx - Project workflows → GraphQL API: requests
- Lead workflows → GraphQL API: requests
- Member workflows → GraphQL API: requests
- Chat and calls → GraphQL API: requests
- Analytics dashboards → GraphQL API: requests
- HTTP and GraphQL server → GraphQL API: mounts
backend/server.js - HTTP and GraphQL server → Authentication: authenticates
backend/server.js - GraphQL API → Project operations: dispatches
backend/graphql/resolvers/index.js - Project operations → Project and task services: calls
backend/graphql/resolvers/projectManager.js - Project operations → Projects: queries
backend/graphql/resolvers/projectManager.js - Project operations → Tasks: queries
backend/graphql/resolvers/projectManager.js - Project operations → Users: queries
backend/graphql/resolvers/projectManager.js - Project operations → Teams: queries
backend/graphql/resolvers/projectManager.js - Project operations → Project and task services: creates groups via
backend/graphql/resolvers/projectManager.js - GraphQL API → Assignment suggestions: dispatches
backend/graphql/resolvers/index.js - Assignment suggestions → Project and task services: requests suggestions
backend/graphql/resolvers/taskSuggestion.js - Assignment suggestions → Projects: reads
backend/graphql/resolvers/taskSuggestion.js - Assignment suggestions → Teams: reads
backend/graphql/resolvers/taskSuggestion.js - Assignment suggestions → Users: reads
backend/graphql/resolvers/taskSuggestion.js - Assignment suggestions → Profiles: reads
backend/graphql/resolvers/taskSuggestion.js - Authentication → Users: reads and writes
backend/services/authService.js - Authentication → Email service: sends login notice
backend/services/authService.js - HTTP and GraphQL server → Chat sockets: registers
backend/server.js - HTTP and GraphQL server → Video signaling: registers
backend/server.js - Chat sockets → Message service: uses
backend/socket.js - Video signaling → Meeting records: uses
backend/socket/videoSignal.js - HTTP and GraphQL server → Tasks: updates from webhook
backend/server.js - GitHub → HTTP and GraphQL server: sends webhook events
backend/server.js - Project and task services → Email service: notifies
backend/services/projectService.js