A Vue.js application that generates random team compositions for Valorant matches.
- Input 5 player names
- Select which role should be doubled (Duelist, Controller, Initiator, Sentinel, or Random)
- Role history tracking to reduce repetitive role assignments
- Three agent selection modes:
- No agents assigned
- Random agent assignment
- Lock specific agents before generation
- Generate a balanced team composition with one doubled role
- View role distribution summary
- Clean, responsive UI with Valorant-themed styling
This project uses GitHub Actions for automated testing and deployment:
- On Push to Any Branch: Runs comprehensive test suite
- On Push to Main: Runs tests → Builds → Deploys to GitHub Pages
- On Pull Request: Runs tests to ensure code quality before merging
- Test Coverage: Automatically generates and uploads coverage reports
- Deployment: Only deploys from main branch if all tests pass
Check the Actions tab to see the status of builds and deployments.
The project includes comprehensive unit and integration tests:
# Run all tests
npm run test
# Run tests with coverage report
npm run test:coverage
# Run tests with interactive UI
npm run test:uiCurrent test coverage: 95.84% overall
- 58 tests covering all core functionality
- Unit tests for randomization algorithms
- Integration tests for Vue components
- Data validation tests for agent roster
src/test/gameLogic.test.js- Core randomization and assignment logicsrc/test/agents.test.js- Agent data and role validationsrc/test/App.test.js- Full component integration tests
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to the URL shown in the terminal (usually
http://localhost:5173)
-
Set up git (if not already done):
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
-
Create a GitHub repository:
- Go to GitHub and create a new repository named
ValorantCompGenerator - Don't initialize with README, .gitignore, or license (since we already have them)
- Go to GitHub and create a new repository named
-
Connect to GitHub and push:
git add . git commit -m "Initial commit: Valorant Comp Randomizer" git branch -M main git remote add origin https://github.com/yourusername/ValorantCompGenerator.git git push -u origin main
-
Automatic Deployment: After pushing to the main branch, GitHub Actions will automatically:
- Run all tests to ensure code quality
- Build the application for production
- Deploy to GitHub Pages (if tests pass)
Manual Deployment (Optional): You can also deploy manually using:
npm run deploy
Note: Both automated and manual deployment will fail if any tests fail, ensuring only tested code reaches production.
-
Enable GitHub Pages:
- Go to your repository on GitHub
- Click on "Settings" tab
- Scroll down to "Pages" in the left sidebar
- Under "Source", select "Deploy from a branch"
- Select "gh-pages" branch and "/ (root)" folder
- Click "Save"
Your app will be available at: https://yourusername.github.io/ValorantCompGenerator/
- Enter the names of 5 players
- Select which role you want to be doubled in the composition
- Click "Generate Composition" to see the random role assignments
- Click "Generate New Composition" to create a new random assignment
- Duelist: Entry fraggers and aggressive players
- Controller: Smoke and map control specialists
- Initiator: Information gathering and team setup
- Sentinel: Defensive anchors and site holders
- Vue 3
- Vite
- CSS3 with custom styling
- GitHub Pages for deployment