How alui-abdiha/venncommunitytech works
Venn Tech Co is a team project-management application. Users enter through the web client, authenticate, and work with dashboards for projects, tasks, teams, milestones, schedules, chat, and rankings; administrators also manage users. The server exposes the corresponding API, applies authentication and role checks, and persists application data in MongoDB models. The graph includes documented routing and source-index-supported dependencies. Some client-to-server HTTP wiring and unsampled feature implementations are not shown, so those connections are marked unverified rather than asserted.
Main entry points: App.jsx Client router · index.js Express API · api.js API client · project.routes.js Project endpoints
Components 34
Web client
- Client router
client/src/app/App.jsx - Home
client/src/pages/Home.jsx - Dashboard shell
client/src/layouts/DashboardLayout.jsx - Navigation
client/src/components/Navbar.jsx - Sidebar
client/src/components/Sidebar.jsx
Identity and access
- Login and register
client/src/pages/Login.jsx - Client auth state
client/src/services/auth.js - Auth service
client/src/services/authService.js - Route guards
client/src/routes/ProtectedRoute.jsx - Admin guard
client/src/routes/AdminRoute.jsx - User administration
client/src/pages/AdminUsers.jsx - Auth endpoints
server/src/routes/auth.routes.js - Authentication
server/src/middleware/requireAuth.js - Role authorization
server/src/middleware/requireRole.js
Project work
- Dashboard overview
client/src/pages/dashboard/Dashboard.jsx - Project workspace
client/src/pages/dashboard/Project.jsx - Task workspace
client/src/pages/dashboard/Task.jsx - Team workspace
client/src/pages/dashboard/Teams.jsx - Milestones
client/src/pages/dashboard/Milestones.jsx - Schedule view
client/src/pages/dashboard/GanttCustom.jsx - Project endpoints
server/src/routes/project.routes.js - Project operations
server/src/controllers/project.controller.js - Task endpoints
server/src/routes/task.routes.js - Task operations
server/src/controllers/task.controller.js - Milestone endpoints
server/src/routes/milestone.routes.js - Team endpoints
server/src/routes/teamRoutes.js
Collaboration and insights
- Chat board
client/src/pages/dashboard/ChatBoard.jsx - Leaderboard
client/src/pages/dashboard/Leaderboard.jsx - Dashboard statistics
server/src/routes/statsRoutes.js - Leaderboard endpoints
server/src/routes/leaderboard.routes.js - Chat endpoints
server/src/routes/chat.routes.js
API and persistence
- API client
client/src/services/api.js - Express API
server/src/index.js
Other components
- User
Connections 46
- User → Client router: uses
client/src/app/App.jsx - Client router → Home: routes to
client/src/app/App.jsx - Client router → Login and register: routes to
client/src/app/App.jsx - Client router → Dashboard shell: mounts
client/src/app/App.jsx - Client router → Route guards: guards
client/src/app/App.jsx - Client router → Admin guard: guards
client/src/app/App.jsx - Client router → Dashboard overview: routes to
client/src/app/App.jsx - Client router → Project workspace: routes to
client/src/app/App.jsx - Client router → Task workspace: routes to
client/src/app/App.jsx - Client router → Team workspace: routes to
client/src/app/App.jsx - Client router → Milestones: routes to
client/src/app/App.jsx - Client router → Schedule view: routes to
client/src/app/App.jsx - Client router → Chat board: routes to
client/src/app/App.jsx - Client router → Leaderboard: routes to
client/src/app/App.jsx - Client router → User administration: routes to
client/src/app/App.jsx - Dashboard shell → Navigation: renders
client/src/layouts/DashboardLayout.jsx - Dashboard shell → Sidebar: renders
client/src/layouts/DashboardLayout.jsx - Navigation → Client auth state: reads auth
client/src/components/Navbar.jsx - Sidebar → Client auth state: reads auth
client/src/components/Sidebar.jsx - Admin guard → Client auth state: checks role
client/src/routes/AdminRoute.jsx - Auth service → API client: uses
client/src/services/authService.js - API client → Client auth state: reads token
client/src/services/api.js - Login and register → Auth service: uses
- Project workspace → API client: requests data
client/src/pages/dashboard/Project.jsx - Task workspace → API client: requests data
client/src/pages/dashboard/Task.jsx - User administration → API client: requests data
client/src/pages/AdminUsers.jsx - API client → Express API: sends requests
- Express API → Auth endpoints: mounts
server/src/index.js - Express API → Project endpoints: mounts
server/src/index.js - Express API → Task endpoints: mounts
server/src/index.js - Express API → Milestone endpoints: mounts
server/src/index.js - Express API → Team endpoints: mounts
server/src/index.js - Express API → Dashboard statistics: mounts
server/src/index.js - Express API → Leaderboard endpoints: mounts
server/src/index.js - Express API → Chat endpoints: mounts
server/src/index.js - Project endpoints → Project operations: dispatches
server/src/routes/project.routes.js - Task endpoints → Task operations: dispatches
server/src/routes/task.routes.js - Project endpoints → Authentication: checks auth
server/src/routes/project.routes.js - Project endpoints → Role authorization: checks role
server/src/routes/project.routes.js - Task endpoints → Authentication: checks auth
server/src/routes/task.routes.js - Task endpoints → Role authorization: checks role
server/src/routes/task.routes.js - Team endpoints → Authentication: checks auth
server/src/routes/teamRoutes.js - Team endpoints → Role authorization: checks role
server/src/routes/teamRoutes.js - Chat endpoints → Authentication: checks auth
server/src/routes/chat.routes.js - Project operations → Express API: queries models
- Task operations → Express API: queries models