How cos301-se-2026/timesheets-ai works
Momently is a time-tracking and productivity-insights platform for an IT department. Users log work and manage tasks, projects, and timesheets; managers review team activity and insights. The backend provides the application services and stores domain data, while a separate AI service exposes analytics and forecast capabilities. The README documents Jira and GitHub integrations and AI-driven anomaly detection. Several runtime links are supported only by documentation or the sampled excerpts, so unverified links are marked dashed or omitted.
Main entry points: app.routes.ts Momently client · ManagerAssistantScoringService.java Manager evidence review · TimeEntry.java Application database · main.py AI API routing
Components 20
Web application
- Momently client
apps/frontend/client/src/app/app.routes.ts - Work tracking
apps/frontend/client/src/app/features/users/developer/logtime/logtime.component.ts - Timesheets
apps/frontend/client/src/app/features/timesheets/timesheets.component.ts - Tasks and teams
apps/frontend/client/src/app/features/my-tasks/my-tasks.component.ts - Insights views
apps/frontend/client/src/app/features/insights/manager-insights/manager-insights.component.ts
Application backend
- Authentication
apps/backend/src/main/java/timesheets/service/AuthService.java - Time and timesheets
apps/backend/src/main/java/timesheets/service/TimeEntryService.java - Projects and tasks
apps/backend/src/main/java/timesheets/service/ProjectService.java - Teams and leave
apps/backend/src/main/java/timesheets/service/TeamService.java - Manager evidence review
apps/backend/src/main/java/timesheets/managerassistant/ManagerAssistantScoringService.java - Application database
apps/backend/src/main/java/timesheets/domain/TimeEntry.java
AI insights
- AI API routing
ai-service/app/main.py - Productivity analytics
ai-service/app/api - Manager dashboard analytics
ai-service/app/api/manager_dashboard.py - Project forecasts
ai-service/app/services/project_forecast.py - AI data access
ai-service/app/database.py
External integrations
- GitHub activity
apps/backend/src/main/java/timesheets/integration/github/GitHubService.java - Calendar evidence
apps/backend/src/main/java/timesheets/integration/calendar/CalendarService.java - Jira integration
apps/backend/src/main/java/timesheets/integration/issue/JiraAdapter.java
Other components
- Employee or manager
Connections 21
- Employee or manager → Momently client: uses
README.md - Momently client → Work tracking: routes to
apps/frontend/client/src/app/app.routes.ts - Momently client → Timesheets: routes to
apps/frontend/client/src/app/app.routes.ts - Momently client → Tasks and teams: routes to
apps/frontend/client/src/app/app.routes.ts - Employee or manager → Insights views: reviews insights
README.md - Work tracking → Time and timesheets: submits work
- Timesheets → Time and timesheets: manages timesheets
- Tasks and teams → Projects and tasks: manages tasks
- Momently client → Authentication: authenticates
- Time and timesheets → Application database: persists entries
- Projects and tasks → Application database: persists projects
- Teams and leave → Application database: reads membership
- Momently client → AI API routing: requests insights
- AI API routing → Productivity analytics: dispatches routes
ai-service/app/main.py - AI API routing → Manager dashboard analytics: dispatches routes
ai-service/app/main.py - Manager dashboard analytics → AI data access: queries data
ai-service/app/api/manager_dashboard.py - Manager dashboard analytics → Project forecasts: combines analytics
- Manager evidence review → GitHub activity: fetches commits
apps/backend/src/main/java/timesheets/managerassistant/ManagerAssistantScoringService.java - Manager evidence review → Calendar evidence: fetches events
apps/backend/src/main/java/timesheets/managerassistant/ManagerAssistantScoringService.java - Manager evidence review → Jira integration: fetches issues
apps/backend/src/main/java/timesheets/managerassistant/ManagerAssistantScoringService.java - Manager evidence review → Application database: reads timesheet entries
apps/backend/src/main/java/timesheets/managerassistant/ManagerAssistantScoringService.java