https://github.com/darren277/openproject-my_plugin
A fork of the demo prototype plugin for OpenProject. Work in progress.
https://github.com/darren277/openproject-my_plugin
openproject project-management rails ruby
Last synced: 4 months ago
JSON representation
A fork of the demo prototype plugin for OpenProject. Work in progress.
- Host: GitHub
- URL: https://github.com/darren277/openproject-my_plugin
- Owner: darren277
- Created: 2025-03-10T17:16:59.000Z (over 1 year ago)
- Default Branch: dev
- Last Pushed: 2025-03-13T13:09:57.000Z (over 1 year ago)
- Last Synced: 2025-07-29T10:11:53.410Z (11 months ago)
- Topics: openproject, project-management, rails, ruby
- Language: Ruby
- Homepage:
- Size: 411 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# OpenProject My Plugin
A plugin for OpenProject that adds gamification and KPI dashboard features.
## Features
### Gamification System
The gamification system rewards users for completing tasks and contributing to projects:
- **Experience Points**: Earn XP for completing work packages, reviewing code, fixing bugs, etc.
- **Levels and Ranks**: Progress through levels and earn prestigious ranks
- **Achievements**: Unlock special achievements for completing specific goals
- **Leaderboard**: Compete with colleagues on weekly, monthly, and all-time leaderboards
- **Profile Page**: View your personal gamification profile with stats and achievements
### KPI Dashboard
Track important project metrics in one place:
- Visualize task completion rates
- Monitor team performance
- Track progress towards project goals
- Analyze trends over time
## Installation
### Prerequisites
This plugin requires:
- OpenProject 12.0.0 or higher
- Ruby 3.0 or higher
- Bundler
### Steps
1. Clone the repository into the plugins directory:
```bash
cd openproject/plugins
git clone https://github.com/darren277/openproject-my_plugin.git
```
2. Install the plugin:
```bash
cd openproject
bundle install
```
3. Run the plugin migrations:
```bash
# It wound up with two copies of the same migration.
# This step might be redundant: `bundle exec rake railties:install:migrations FROM=openproject_my_plugin`
# The above command copies the migration files over...
bundle exec rake db:migrate
```
4. Seed the initial achievements:
```bash
bundle exec rake openproject_my_plugin:seed
```
5. Bundle plugin assets:
```bash
# From the main OpenProject directory
# Instead of this: `bundle exec rake openproject_my_plugin:precompile_assets`
# ...copying the two CSS files over manually for now because the precompilation process takes ridiculously long amounts of time for some reason.
sudo cp ~/op_dev/plugins/openproject-my_plugin/app/assets/stylesheets/gamification.css ~/op_dev/openproject/public/assets/frontend/
sudo cp ~/op_dev/plugins/openproject-my_plugin/app/assets/stylesheets/kpi_dashboard.css ~/op_dev/openproject/public/assets/frontend/
```
6. Restart your OpenProject server
### Troubleshooting
If you need to verify the plugin is installed, or to make sure you're calling it my the right name: `bundle exec rails runner "puts Redmine::Plugin.all.map(&:id)"`.
## Usage
### Gamification
- Access the gamification system from the top menu "Gamification"
- View your personal profile at "My Profile" in the account menu
- Check the leaderboard to see top performers
- View available achievements and your progress
- Complete tasks to earn XP and unlock achievements
### KPI Dashboard
- Access the KPI Dashboard from the project menu
- View performance metrics for your project
- Filter data by time period or work package type
- Export reports as needed
## Configuration
You can configure the plugin in Administration > OpenProject Plugins > My Plugin:
- Enable/disable specific features
- Adjust XP values for different actions
- Configure achievement criteria
- Customize KPI dashboard metrics
## Development
### Running Tests
```bash
bundle exec rake test:plugins:all RAILS_ENV=test
```
### Adding New Achievements
To add new achievements, create a new migration:
```bash
bundle exec rails generate open_project_plugin_migration my_plugin AddNewAchievements
```
Then define your achievements in the migration file.
## License
This plugin is licensed under the GNU GPL v3. See LICENSE for details.
## Support
For questions or issues, please:
- Open an issue on GitHub
- Contact the author at darren277@yahoo.com