Periodically asks the user about their current activity and logs it for analysis.
Go to https://entra.microsoft.com.
Create a new app registration "Activity Sampling" under applications. Under
authentication add an SPA platform with redirect URI your start page or
http://localhost:3000 for local testing. Select neither access tokens nor
ID tokens under Implicit grant and hybrid flows. Under token configuration
add the claim groups ID for each type. Create the app roles user and
admin.
Add users and groups in enterprise applications under applications and assign app roles.
Set the following environment variables for api-app:
- AZURE_CLIENT_ID=your-client-id
- AZURE_APP_ID_URI=your-app-id-uri
or the proper values in the application.properties file:
spring.cloud.azure.active-directory.credential.client-id = your-client-id
spring.cloud.azure.active-directory.app-id-uri = api://your-app-id-uriCreate a .env.local file in the web-api directory with the following
content:
VITE_CLIENT_ID=your-client-id
VITE_TENANT_ID=your-tenant-id
VITE_SCOPES=${VITE_CLIENT_ID}/.defaultCreate .env in the root directory for Docker Compose with the following
content:
AZURE_CLIENT_ID=your-client-id
AZURE_APP_ID_URI=your-app-id-uriThe Makefile runs the built as default task. Other tasks are
start: start the servertest: run all tests,format: format source code
- Store view parameters in URL query
- Add return to "this month" button when period is not this month, same for other units
- Create detailed timesheet with timestamp instead of only date
- Import holidays from an iCalendar file (currently via
CalenderReader.main()) - Use the list of vacation days to automatically create activity entries
- Handle null or non-null values
- use 20-minute sampling interval
- create a report with normalized start time and end time for 30 minutes
- center duration around timestamp
- use a task as category:
- fix, feat, build, chore, ci, docs, style, refactor, perf, test (conventional commits)
- business development, design, marketing, programming, project management, vacation (Harvest)
- epic, story, task, bug (Jira)
- vacation, illness, meeting