Agent is an open-source platform designed to optimize the experience of Boss Fighters players. It provides analytical and management tools, enabling players, streamers, and investors to make informed in-game decisions.
- Backend: Ruby on Rails 8.0
- Database: PostgreSQL
- Authentication: Devise with JWT
- Payments: Stripe
- Emails: Mailjet
- Performance tracking
- Rewards analysis
- Badge usage evaluation
- Build creation and optimization
- Performance analysis
- Metric tracking (profit, efficiency)
- Item catalog with metrics
- Farming analysis
- Crafting system
- Recharge management
- Currency tracking (Cash, FLEX, $BFT)
- Slot management
- ROI analysis
- Ruby 3.x
- PostgreSQL
- Node.js & Yarn
sh git clone https://github.com/ThibaultL24/Agentv2 cd agent
- Install dependencies
sh bundle install
- Set up the database
sh rails db:create
sh rails db:migrate
🧪 Tests Run the RSpec test suite
sh bundle exec rspec
id
: bigint, primary keyopenLootID
: stringisPremium
: booleanlevel
: integerexperience
: floatassetType
: stringasset
: stringslotUnlockedId
: integermaxRarity
: stringemail
: string, unique, default: ""encrypted_password
: string, default: ""- Timestamps:
created_at
,updated_at
- Authentication fields:
reset_password_token
,reset_password_sent_at
,remember_created_at
id
: bigint, primary keyuser_id
: bigint, foreign keybuild
: stringdate
: datetimemap
: stringtotalFee
: integerfeeCost
: floatslots
: integerluckrate
: floattime
: integerenergyUsed
: integerenergyCost
: floattotalToken
: integertokenValue
: floattotalPremiumCurrency
: integerpremiumCurrencyValue
: floatprofit
: floatbonusMultiplier
: floatperksMultiplier
: float- Timestamps:
created_at
,updated_at
id
: bigint, primary keyrarity
: stringtype
: stringname
: stringefficiency
: floatnfts
: integersupply
: integerfloorPrice
: floattype_id
: bigint, foreign keyrarity_id
: bigint, foreign key- Timestamps:
created_at
,updated_at
id
: bigint, primary keyname
: stringgameName
: stringonChain
: booleanprice
: floatgame_id
: bigint, foreign key- Timestamps:
created_at
,updated_at
id
: bigint, primary keyname
: string- Timestamps:
created_at
,updated_at
id
: bigint, primary keyuser_id
: bigint, foreign keypayment_method_id
: bigint, foreign keyamount
: decimal(18,8)currency
: stringstatus
: stringexternal_id
: stringmetadata
: jsonb, default: {}- Timestamps:
created_at
,updated_at
id
: bigint, primary keyuser_id
: bigint, foreign keyplayerCycleType
: integercycleName
: stringnbBadge
: integerminimumBadgeRarity
: stringstartDate
: datetimeendDate
: datetimenbDateRepeat
: integer- Timestamps:
created_at
,updated_at
- Has many Matches
- Has many Player Cycles
- Has many Transactions
- Has many User Builds
- Has many User Recharges
- Has many User Slots
- Belongs to Type
- Belongs to Rarity
- Has many Item Craftings
- Has many Item Farmings
- Has many Item Recharges
- Has many Currencies
- Has many Slots
- Belongs to Game
- Has many Currency Packs
- Has many Slots
badge_useds_on_match_id
badge_useds_on_nftId
currencies_on_game_id
currency_packs_on_currency_id
items_on_rarity_id
items_on_type_id
jwt_denylist_on_jti
matches_on_user_id
nfts_on_itemId
payment_methods_on_provider
player_cycles_on_user_id
transactions_on_external_id
transactions_on_status
users_on_email
users_on_reset_password_token
- Fork the project
- Create a branche for your feature
sh git checkout -b feature/AmazingFeature
-
Commit your changes
sh git commit -m 'Add: AmazingFeature'
-
Push to the branch
sh git push origin feature/AmazingFeature
-
Ouvrir une Pull Request
- Tests unitaires et d'intégration avec RSpec
- Analyse de sécurité avec Brakeman
- Style de code avec RuboCop Rails Omakase
- Debugging:
debug
gem - Tests: RSpec, FactoryBot, Faker
- Sécurité: Brakeman
- Style: RuboCop Rails Omakase
[À définir]
[À définir]
[À définir]
Fait avec ❤️ pour la communauté Boss Fighters