muety / wakapi

📊 A minimalist, self-hosted WakaTime-compatible backend for coding statistics
https://wakapi.dev
MIT License
2.61k stars 160 forks source link

Team / organizations #413

Open muety opened 2 years ago

piekill commented 1 year ago

What features will be available in Team / organizations? Thanks~

muety commented 1 year ago

Very hood question! My main idea was to aggregate statistics on a team level, i.e. have a separate dashboard view besides your personal one that shows aggregated statistics for all your team members. Also, a team-internal leaderboard in addition to the public one.

piekill commented 1 year ago

Sounds good. Is it also possible to view the details of the team members besides aggregations?

piekill commented 1 year ago

Another question is how to calculate durations using heartbeats. I only find a single time column in heartbeats table. I wanna know the start and end time of my coding activities. Thanks~

Ari24-cb24 commented 1 year ago

Would love to see this since none of us is actively buying wakatime premium. Viewing the projects other team members worked on would be a really cool feature. What is the current status of this?

muety commented 1 year ago

Hi @Ari24-cb24, thanks for your feedback!

What is the current status of this?

No progress so far, because it's quite a big change and hasn't been requested so much, yet.

Can you describe what features / functionality you would expect for your team? What statistics would you like to see, etc.?

Ari24-cb24 commented 1 year ago

Thanks for the response!

Can you describe what features / functionality you would expect for your team? What statistics would you like to see, etc.?

I'd love to see the following things being implemented

Some more detail

Roles I would imagine a default role which just basically grants you the permission to be in that team.
An overseer role, which has insights on all of the statistics of the team members and lastly the admin / ownership role which is able to add / remove members from the project as well as changing team settings.

Goals For the goal system, I think the one wakatime currently has is sufficient enough. An overseer can check on these goals / create ones and see the progress of all team members.

Invites I think it's also important to have some regulations on who can join a team so maybe an invite via email / url (I kind of imagine the system google drive uses) would be great too.

These are mainly just ideas which I myself would highly appreciate. I know that it's much, mainly wanted to give some input on which we can elaborate.

muety commented 1 year ago

Thanks for your detailed response!

I agree to to having team-wide statistics as well as per-member statistics available to everyone else on the team. I also agree to team-internal leaderboards.

Regarding roles, I'd probably only distinguish between team admin and team member, where the former is allowed to sent out invitations and kick people off the again, whereas the latter is "read-only".

I will probably refrain from implement complex team-specific settings, at least for the time being. There won't be aliases, mapping or labels on a team level, instead, they will simply be derived from the individual members' personal settings.

Goals are a big topic by themselves, see #166. Realistically, we won't get to implement them any time soon, so team goals are - unfortunately - even a little farther in the future.

Thanks for bringing the topic back to my radar. Since 8 people have upvoted this already, I see the need for team features. Hopefully I'll get a day or two somewhere soon to build this!

Ari24-cb24 commented 1 year ago

Sounds great! Will be looking forward to the implementation.

alessandro-bottamedi commented 8 months ago

I believe that, for now, having only the ability to create teams and see the hours worked divided by participant and project is already a good starting point. An then implement the other more complex features such as goals and role division in the future?

peteromano commented 8 months ago

I agree with @Ari24-cb24 suggestions.. Currently, it seems like if I want a project manager to view data, that user setup still needs an api key and configuration setup (but he just needs to be able to view data) so the initial summary/dashboard page that asks you to configure your setup would change

kapitche commented 4 months ago

Hi ! Do you guys have any ETA for a possible release or semi-release?

Thanks a lot !

muety commented 4 months ago

Can't give you an ETA, but since this has been requested to many times, it's highest on top of my prio list.

kapitche commented 4 months ago

Thanks Ferdinand ! Will definitely follow it up closely 😊

muety commented 1 month ago

Had some thoughts about the teams feature. I'll build it in multiple iterations. First version will only feature:

On the data model side, team statistics will probably be another, new entity and involve pre-computed aggregations similar to current _Summary_s. A team will always have a single admin and if that user gets deleted, some random (alphabetically next or sth.) will become admin for simplicity (can be change via support request or database query).

photo_2024-08-12_07-41-25

orthizar commented 2 weeks ago

Can a team member / team admin choose which projects to include / exclude? So it does not show personal projects in the team stats.