Loading repository data…
Loading repository data…
Rajat7Codes / repository
Elixir Spin is a robust backend application designed to generate optimized decks for Clash Royale. It leverages the official Clash Royale API to synchronize card data and provides a powerful deck generation engine with multi-level caching for high performance.
Elixir Spin is a robust backend application designed to generate optimized decks for Clash Royale. It leverages the official Clash Royale API to synchronize card data and provides a powerful deck generation engine with multi-level caching for high performance.
DeckRandomizerService to create balanced decks based on game-specific logic (win conditions, air counters, spells, etc.).Before running the application, ensure you have the following installed:
4321 by default).The application configuration is located in src/main/resources/application.yaml.
Key properties:
spring.datasource: Database connection settings.clashroyale.api.token: Your personal API token.card.sync.cron: Schedule for card synchronization (Default: 0 0 3 * * ?).resilience4j: Fault tolerance settings for the Clash Royale API integration.Clone the repository:
git clone https://github.com/your-repo/elixirspin.git
cd elixirspin
Setup Database: Create a database named elixirspin in PostgreSQL.
Run the application:
./mvnw spring-boot:run
The server will start on http://localhost:8080 (default port).
com.nextgencoder.elixirspin.controller: REST API endpoints (e.g., DeckController).com.nextgencoder.elixirspin.service: Core business logic and services.com.nextgencoder.elixirspin.domain: JPA entities and data models.com.nextgencoder.elixirspin.repository: Data access layer for PostgreSQL.com.nextgencoder.elixirspin.config: Configuration for Redis, Caffeine, and Resilience4j.com.nextgencoder.elixirspin.dto: Data Transfer Objects for API responses.The primary endpoint is managed by DeckController:
GET /api/v1/deck/generate: Generates a randomized deck based on specified criteria.Built with ❤️ for Clash Royale players.