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_idbadge_useds_on_nftIdcurrencies_on_game_idcurrency_packs_on_currency_iditems_on_rarity_iditems_on_type_idjwt_denylist_on_jtimatches_on_user_idnfts_on_itemIdpayment_methods_on_providerplayer_cycles_on_user_idtransactions_on_external_idtransactions_on_statususers_on_emailusers_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:
debuggem - Tests: RSpec, FactoryBot, Faker
- Sécurité: Brakeman
- Style: RuboCop Rails Omakase
[À définir]
[À définir]
[À définir]
Fait avec ❤️ pour la communauté Boss Fighters