Giter VIP home page Giter VIP logo

jugglf's Introduction

JuggLF

JuggLF is a Rails application written to replace the aging, hacked-up EQdkp installation for my guild, Juggernaut. It tracks member attendance and loot history, and lets members build wishlists -- a priority list of loot they need -- which are a central part of our guild organization.

Features

  • Full member attendance and loot history tracking
  • Wishlists with multiple priorities
  • Achievement tracking
  • A punishment system that can be used to adjust a member's loot factor, with variable expiration dates
  • Interesting stats and history on the index page for a long-running guild
  • Live attendance and loot tracking for a raid night (to use instead of or as a compliment to an in-game addon)

Customizing For Your Guild

As the application was written specifically and solely for Juggernaut's use, you'll have to make several major changes to it if you want to use it for your own guild, even if you copy our loot system exactly.

Layout

The default application layout uses the skin from our forum in order to fit in with the overall look of our site. You probably want to use your own.

Login

The application uses a gem I wrote specifically for it called invision_bridge, which lets Authlogic access an IP.Board database and allows users to only have one login for the entire site. I'd recommend either fully implementing the rest of an authentication system with Authlogic (sign up, user management, etc.) and making users maintain two separate accounts, or writing a similar gem for your own forum system.

Item Prices

In most cases, we determine the price of a loot based on the item's level and slot. Sometimes this varies by member class. For example a one-handed weapon is less valuable for a Hunter than a Rogue, and vice-versa for a ranged weapon. Trinkets are priced on a case-by-case basis, since not all trinkets are equally useful, or desired.

Item prices are currently determined by the ItemPrice model. Unfortunately this file is a bit of a mess. I'd love to provide a web interface for customizing these values, but right now it's a case of too much work for not enough reward.

Wishlist Data

Maybe you don't raid the same zones we do. You probably want to change the Wishlists page to show zones and bosses you care about.

Zone > Boss > Item data is currently populated by the lib/tasks/wishlist.rake file and the files in the lib/wishlist_data folder. This is another area where I want to turn it into a web interface, but again, too much work, not enough reward for the time being. See the lib/wishlist_data/scraper.rb file for an example of scraping loot data for a boss from the Armory.

Attendance Parsing

Adding a raid involves copying and pasting the attendance and loot which gets posted to our forum in a very specific format by this application. We track a raid night inside the application, and then that data gets posted to our forum over XMLRPC in order to let users bring up any errors ("I never got to loot [This Item], please mark it as DE").

The data from the thread is then copied and pasted into JuggLF which gets us Raid and Loot data.

History and Background

This was the first Rails application I wrote, and the first that I'm releasing. I ran rails . on December 11, 2008. Over time I've refined it as I learned, and plan to continue doing so for as long as is necessary. It's not perfect. I'm sure there are spots where I'm doing things sub-optimally or even completely wrong. Feel free to point them out to me.

Contributing

I'd love to see what other people do with this. Please fork and/or submit tickets!

Credits

Copyright (c) 2008-2010 Robert Speicher, released under the MIT license

jugglf's People

Contributors

rspeicher avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.