This project is built to showcase a sample of my Angular skills for developing real-world applications, featuring NGXS for state management (currently Elf), Jest for unit/integration tests, and Cypress for end-to-end tests. Expands as I'm expanding my knowledge within the frontend area.
nx serve client
nx test client
nx e2e client-e2e
or with headed mode
nx e2e client-e2e --watch
nx build client
The app is using ngxs for the state management and it's stateless regarding user's session. It would be obviously better to save players, scores and overall game progress in session storage but I decided to go with ngxs for the purpose of checking this tool.
Update 2023-07-31 Currently I've moved state managment to Elf implementing local storage strategy for storing players information such as cardSelection, players info and score.
- Configuration
- i18n (en)
- routing
- state management
- UI lib
- Core
- Add main menu
- Add game wizard
- Add game board
- Fetch cards from API
- Add unit tests (wip)
- Add e2e tests (wip)
- Features
- Select usernames
- Choose type of cards
- Add pagination
- Select card
- Add game results modal
- Reset game state
- Store players info in local storage
- Add leaderboard