Coder Social home page Coder Social logo

card-memory-game's Introduction

stand with Ukraine

card-memory-game's People

Contributors

brian-ai-assistant-dev[bot] avatar kucherenko avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

alexrogalskiy

card-memory-game's Issues

Improve project documentation

The project documentation needs to be improved to be more comprehensive and clear. This will help users and contributors better understand the project structure, how to contribute, and how to use the game.

  1. Review existing documentation and identify areas that need improvement.
  2. Edit and add content to the README.md file and CONTRIBUTING.md file, covering topics such as:
  • Project description and how to play the game
  • Installation and setup instructions
  • Project structure and component breakdown
  • Contribution guidelines and how to format commit messages
  1. Review and update test and code comments
  2. Verify that all links in documentation are correct and working
  3. Test locally to ensure documentation changes work as expected

Note: Be sure to consult with other team members and contributors when making changes to the project. It's essential to communicate effectively and openly to ensure that changes are well understood and accepted.

Add License

The project does not have a license. Add a license so that it is clear what terms the project is being made available under.

  1. Choose an appropriate license for the project (e.g. MIT)
  2. Add the license file to the project repository
  3. Update the README.md file to include information about the project license
  4. Ask for feedback from other team members before submitting PR

Make sure to thoroughly review all changes and get feedback from other team members before merging any changes into the main branch. Additionally, make sure to communicate any new changes to the rest of the team to ensure everyone is aware of any updates to the project.

Implement a card grid

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create a grid of n x n cards that are initially faced down.

  1. Create a new component for the card grid
  2. Set up a props for defining the size of the grid and use it to create the grid in the template
  3. Add CSS styles to make the grid look good and ensure that the cards are uniformly sized
  4. Write component logic to ensure all the cards are initially in the hidden state

Add usage instructions

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create a new markdown file in the documentation folder named USAGE.md. Write clear and concise instructions for how to use the project. Include any examples or screenshots to help users understand the project.

  1. Create a new markdown file named USAGE.md in the documentation folder.
  2. Write clear and concise instructions for how to use the project.
  3. Include any examples or screenshots to help users understand the project.
  4. Save the file and commit the changes to the repository.
  5. Update the README file to link to the new usage instructions.
  6. Review and revise the usage instructions with the help of other contributors as needed.

Add logic to flip cards

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Write Logic to allow users to flip cards and show a cover image underneath each card.

  1. Register a click event on each card
  2. Create a method to flip the clicked card to reveal its image
  3. Keep track of previous clicked cards and compare if the images match
  4. Otherwise, flip the cards back to the hidden state
  5. After each click, check if all the cards are flipped and show a success message.

Create or Update License

The project needs to have a clear and concise license agreement that outlines how the project can be used, modified and distributed. This will help ensure the project is legally protected and avoid potential legal disputes.

  1. Choose a suitable license from choosealicense.com or consult with a legal advisor.
  2. Include the license file (e.g., LICENSE.txt) in the root directory of the project.
  3. Add license information to the README.md file.

Note: Be sure to consult with other team members and contributors when making changes to the project. It's essential to communicate effectively and openly to ensure that changes are well understood and accepted.

Add installation instructions

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create a new markdown file in the documentation folder named INSTALLATION.md. Write clear and concise instructions for how to install the project. Include any prerequisites and dependencies that are required.

  1. Create a new markdown file named INSTALLATION.md in the documentation folder.
  2. Write clear and concise instructions for how to install the project.
  3. Include any prerequisites and dependencies that are required.
  4. Save the file and commit the changes to the repository.
  5. Update the README file to link to the new installation instructions.
  6. Review and revise the installation instructions with the help of other contributors as needed.

Improve project documentation

The project documentation can be improved by adding more detailed instructions on how to get started and play the game. Additionally, it would be helpful to include information on how to contribute to the project. The documentation can be updated in README.md file.

Add API documentation

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create a new markdown file in the documentation folder named API.md. Write clear and concise documentation for the project's API. Include information on each endpoint and the expected responses.

  1. Create a new markdown file named API.md in the documentation folder.
  2. Write clear and concise documentation for the project's API.
  3. Include information on each endpoint and the expected responses.
  4. Save the file and commit the changes to the repository.
  5. Update the README file to link to the new API documentation.
  6. Review and revise the API documentation with the help of other contributors as needed.

Improve GitHub pull request template

The current pull request template can be improved by including more specific instructions on what needs to be done before submitting a pull request. This will help to ensure that all requirements are met before the pull request is submitted. The template can be updated in .github/PULL_REQUEST_TEMPLATE.md file.

Create a workflow for building and testing the project

The Card Memory Game project currently does not have an automated workflow for building and testing the project. We need to create a workflow that builds and tests the project automatically when changes are made. This will help us catch bugs and errors more quickly and ensure that changes are properly tested before they are merged into the main branch.

It is recommended to use a continuous integration and deployment tool like Travis CI or Circle CI for the build and test workflow. Also, make sure to test the project on multiple browsers and devices to ensure cross-compatibility.

Create a Dialog Box with Game Results

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

When the user completes the game, a dialog box should be displayed showing a Congratulations message with a counter displaying the time it took to finish the game.

  1. Create a dialog box component
  2. Add a prop for the timer value
  3. Add the necessary data for the dialog box
  4. Conditionally display the dialog box when the game is complete
  5. Pass the timer value to the dialog box component

Improve GitHub templates for issues and pull requests

Updates the GitHub issue and pull request templates to include more options for issue types and pull requests descriptions.

  1. Add more options to issue and pull request templates.
  2. Follow Conventional Commits for commit messages (e.g. 'feat: add more options to GitHub issue templates')
  3. Submit a pull request with changes.
  4. Have a technical writer and designer review and approve the changes.
  5. Merge pull request to main branch.

Make sure to follow Conventional Commits for your commit messages and to have someone from the appropriate role approve your changes before merging to main branch. Also, double-check to ensure that all necessary changes have been made.

Document how to deploy the game

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Add documentation on how to deploy the game.

  1. Write a new document explaining how to deploy the game
  2. Specify the required tools and technologies needed
  3. List out all the deployment steps to follow

Improve documentation

The documentation for the Card Memory Game is currently limited. We need to improve the documentation to make it more comprehensive. This includes adding information on how to run the game, how to contribute to the project, and a better description of the project. We can start by updating the README file.

It is recommended to use a continuous integration and deployment tool like Travis CI or Circle CI for the build and test workflow. Also, make sure to test the project on multiple browsers and devices to ensure cross-compatibility.

Write Unit Tests

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create unit tests for the Board component to ensure it works as expected.

  1. Write tests for flipping a card
  2. Write tests for flipping two non-matching cards back over
  3. Write tests for keeping matching cards visible
  4. Write tests for checking if the game is complete

Improve Documentation

The project documentation needs improvement. Update README.md file with new information about the game and instructions on how to play.

  1. Update README.md file with new game information and instructions
  2. Use proper markdown formatting for readability
  3. Make sure all information is accurate and up-to-date
  4. Ask for feedback from other team members before submitting PR

Make sure to thoroughly review all changes and get feedback from other team members before merging any changes into the main branch. Additionally, make sure to communicate any new changes to the rest of the team to ensure everyone is aware of any updates to the project.

Write Unit Test Cases

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Write test cases for all the components and its methods implemented.

  1. Create test files for all the components
  2. Write test cases for each of the methods implemented
  3. Verify that the card grid is rendered as expected
  4. Verify that the cards are flipped over on click
  5. Test the win scenario to ensure that the congratulation message is shown

Create a Timer

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

When the game starts, a timer should start counting how long it takes the user to complete it.

  1. Add a Timer component to the game
  2. Add a startTimer() method that sets an interval that increments a timer variable every second.
  3. Add a stopTimer() method that clears the interval.
  4. Call startTimer() when the game starts
  5. Call stopTimer() when the game ends.

Start working with Brian AI assistant

Assign this issue to @brian-assistant and Brian will analyze the project and suggest new tasks, assign any other tasks to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create or improve following project parts: documentation, workflows, github templates for issues and pull-requests, license.

Add contribution guidelines

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create a new markdown file in the documentation folder named CONTRIBUTING.md. Write clear and concise guidelines for how to contribute to the project. Include information on how to submit issues, make pull requests, and follow the conventions for commits.

  1. Create a new markdown file named CONTRIBUTING.md in the documentation folder.
  2. Write clear and concise guidelines for how to contribute to the project.
  3. Include information on how to submit issues, make pull requests, and follow the conventions for commits.
  4. Save the file and commit the changes to the repository.
  5. Update the README file to link to the new contribution guidelines.
  6. Review and revise the contribution guidelines with the help of other contributors as needed.

Improve project workflows

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

The current project workflows could be improved to help streamline and automate the development process. The workflows should include:

  • Build and test workflow
  • Deploy workflow
  • Code review workflow
  • Issue triage and assignment workflow

These workflows should be clearly defined, automated, and easily accessible from the GitHub repository.

  1. Analyze the current project workflows to identify areas of improvement.
  2. Define the new workflows using YAML syntax in the project workflows file.
  3. Test the new workflows using the GitHub Actions workflow editor.
  4. Review and revise the workflows with the help of other contributors.
  5. Document the new workflows in the project documentation.
  6. Publish the new workflows on the GitHub repository.

Improve project documentation

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

The current project documentation is incomplete and could be improved to help contributors and users of the project. The documentation should include:

  • Installation instructions
  • Usage instructions
  • Contribution guidelines
  • API documentation
  • Deployment instructions

It should also be written using clear and concise language, and be easy to navigate and search.

  1. Create a new folder for documentation in the project root.
  2. Create a new markdown file for each section of the documentation.
  3. Write clear and concise instructions for how to install, use, and deploy the project.
  4. Include contribution guidelines and API documentation.
  5. Update the README file to include links to the new documentation.
  6. Review and revise the documentation with the help of other contributors.
  7. Publish the new documentation on the project website or wiki.

Improve GitHub workflows

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

The project's GitHub workflows should be improved to ensure that the project is automatically built and deployed when relevant changes are made.

Implement game board component

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create a game board component that displays a n x n grid of facedown cards. When a card is clicked, it should flip over to show the image underneath it and stay visible for a few seconds, or until another card is clicked. If two cards with matching images are clicked, both cards should remain visible. If the images do not match, the cards should flip back to their original state.

  1. Create a Board.vue component
  2. Add the necessary props and data to the component
  3. Add a click event handler to the cards
  4. Implement logic for flipping the card when clicked
  5. Add logic to check for matching cards
  6. Implement logic for keeping cards visible when they match
  7. Implement logic for flipping cards back over when they don't match

Create license file

The project is missing a license file. A license file needs to be added to the project to specify how the project code can be used, modified and distributed. A recommended license is the MIT License. The license file can be created with the name LICENSE in the root directory of the project.

Create GitHub Templates for Issues and Pull-Requests

Github templates will help users and contributors better report, track, and resolve issues and pull-requests.

  1. Create a bug report template to collect key details such as; the bug description, steps to reproduce, expected behavior, operating system, and browser used.
  2. Create an enhancement request template to outline feature requests.
  3. Create a question template to allow users to ask questions more effectively.
  4. Create a pull-request template to ensure pull requests contain key information such as the problem description, related issue number, affected file(s), test coverage, and breaking changes.

Note: Be sure to consult with other team members and contributors when making changes to the project. It's essential to communicate effectively and openly to ensure that changes are well understood and accepted.

Improve Github templates for issues and pull-requests

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

The current Github issue and pull-request templates are basic and could be improved to provide more information and structure for contributors. They should include:

  • Clear descriptions of the issue or pull-request
  • Steps to reproduce or implement
  • Additional context or screenshots
  • Checklist of tasks to complete

These templates should be written using clear and concise language, and be easy to navigate and complete for contributors.

  1. Create new markdown files for each template in the .github/ISSUE_TEMPLATE folder.
  2. Define the structure and requirements of the templates using markdown syntax.
  3. Include clear and concise instructions for contributors in the templates.
  4. Review and revise the templates with the help of other contributors.
  5. Publish the new templates on the GitHub repository.

Create or Update GitHub Workflows for Build, Test, and Deploy

The project's Github workflows need to be improved to ensure consistent builds, testing, and deployment.

  1. Review the existing workflows and identify areas that need improvement.
  2. Edit and add content to the .github/workflows/build-test-deploy.yml file, covering topics such as:
  • Workflow structure and setup
  • Build and test steps
  • Deploy steps
  1. Verify that the workflow changes work as expected
  2. Test-deploy the project to production environment.

Note: Be sure to consult with other team members and contributors when making changes to the project. It's essential to communicate effectively and openly to ensure that changes are well understood and accepted.

Add deployment instructions

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

Create a new markdown file in the documentation folder named DEPLOYMENT.md. Write clear and concise instructions for how to deploy the project to different environments (e.g. development, staging, production). Include any configuration files or commands that are required.

  1. Create a new markdown file named DEPLOYMENT.md in the documentation folder.
  2. Write clear and concise instructions for how to deploy the project to different environments.
  3. Include any configuration files or commands that are required.
  4. Save the file and commit the changes to the repository.
  5. Update the README file to link to the new deployment instructions.
  6. Review and revise the deployment instructions with the help of other contributors as needed.

Improve GitHub issue templates

The current GitHub issue templates can be improved by providing more detailed instructions on what to include in each type of issue. It would be helpful to include examples of what a good bug report, feature request or question looks like. The templates can be updated in .github/ISSUE_TEMPLATE directory.

Feature Request:

Implement the card memory game on Vue. Use unit tests. Follow game rules:

Card Memory Game

Card memory (also known as Concentration, Match Match, Match Up, Memory, Pexeso) is a card game in which all of the cards are laid face down on a surface and two cards are flipped face up over each turn.

The object of the game is to turn over pairs of matching cards.

The Rules

The game begins by showing a set of cards. They are face up (respectively, face down). When you click on any one, an image opens for a few seconds.

The player's task is to find all the cards with the same picture. If you turn over the second and the pictures match after opening the first card, both cards remain open. If they do not, the cards are closed again. The goal is to open all of them.

User Stories

  • The user can see a grid with n x n cards (n is an integer). All the cards are faced down initially (hidden state).
  • Users can click a button to start the game. When this button is clicked, a timer will start.
  • User can click on any card to unveil the image underneath it (change it to visible state). The image will be displayed until the user clicks on a 2nd card.
  • When the User clicks on the 2nd card:
  • If there is a match, the 2 cards will be eliminated from the game (either hide/remove them or leave them in the visible state).
  • If there isn't a match, the 2 cards will flip back to their original state (hidden state).
  • When all the matches have been found, the User can see a dialog box showing a Congratulations message with a counter displaying the time it took to finish the game.

Update project license

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

The current project license is outdated and may not be suitable for the project. The license should be updated to reflect the current project ownership, copyright, and terms of use. It should also be compatible with other open-source licenses and legal requirements.

  1. Research the different types of open-source licenses available.
  2. Select a license that meets the project requirements and goals.
  3. Update the LICENSE file with the new license text.
  4. Review and revise the license text with the help of a legal professional if necessary.
  5. Publish the updated license on the GitHub repository.
  6. Make sure all contributors are aware of the new license and agree to its terms.

Feature Request: implement card memory game logic

Implement the card memory game on Vue. Use unit tests. Follow game rules:

Card Memory Game

Card memory (also known as Concentration, Match Match, Match Up, Memory, Pexeso) is a card game in which all of the cards are laid face down on a surface and two cards are flipped face up over each turn.

The object of the game is to turn over pairs of matching cards.

The Rules

The game begins by showing a set of cards. They are face up (respectively, face down). When you click on any one, an image opens for a few seconds.

The player's task is to find all the cards with the same picture. If you turn over the second and the pictures match after opening the first card, both cards remain open. If they do not, the cards are closed again. The goal is to open all of them.

User Stories

  • The user can see a grid with n x n cards (n is an integer). All the cards are faced down initially (hidden state).
  • Users can click a button to start the game. When this button is clicked, a timer will start.
  • User can click on any card to unveil the image underneath it (change it to visible state). The image will be displayed until the user clicks on a 2nd card.
  • When the User clicks on the 2nd card:
  • If there is a match, the 2 cards will be eliminated from the game (either hide/remove them or leave them in the visible state).
  • If there isn't a match, the 2 cards will flip back to their original state (hidden state).
  • When all the matches have been found, the User can see a dialog box showing a Congratulations message with a counter displaying the time it took to finish the game.

Improve project documentation

Assign this issue to @brian-assistant and Brian will help you.

Brian AI will process with following task:

The project documentation should be improved to provide a better understanding of the project and its usage. This includes updating the README and adding a CONTRIBUTING guide.

Update project documentation

Update the README.md file to include new information about the game. Specifically, add more detail to the 'Areas to Improve' and 'Roadmap' sections. Additionally, add information about the latest release.

  1. Make changes to the README.md file to update documentation.
  2. Follow Conventional Commits for commit messages (e.g. 'docs: update README.md with latest release information')
  3. Submit a pull request with changes.
  4. Have a technical writer review and approve the changes.
  5. Merge pull request to main branch.

Make sure to follow Conventional Commits for your commit messages and to have someone from the appropriate role approve your changes before merging to main branch. Also, double-check to ensure that all necessary changes have been made.

Create a LICENSE file

The Card Memory Game project does not currently have a LICENSE file. We need to create a LICENSE file and add the MIT License to it. This will ensure that the project is properly licensed and can be used by others.

It is recommended to use a continuous integration and deployment tool like Travis CI or Circle CI for the build and test workflow. Also, make sure to test the project on multiple browsers and devices to ensure cross-compatibility.

Improve GitHub Templates

The current GitHub issue and pull request templates could be improved to help streamline the contribution process and make it easier for contributors to provide the necessary information.

  1. Review current templates and identify areas that need improvement
  2. Update templates to provide clear guidance on the information that is required
  3. Use proper markdown formatting for readability
  4. Ask for feedback from other team members before submitting PR

Make sure to thoroughly review all changes and get feedback from other team members before merging any changes into the main branch. Additionally, make sure to communicate any new changes to the rest of the team to ensure everyone is aware of any updates to the project.

Update Workflows

The current GitHub workflow could be improved to provide additional functionality such as linting and better test coverage. Update the workflow to provide these features.

  1. Review current workflow and identify areas that need improvement
  2. Update workflow to include linting and test coverage
  3. Ensure that the workflow is properly configured and runs without errors
  4. Ask for feedback from other team members before submitting PR

Make sure to thoroughly review all changes and get feedback from other team members before merging any changes into the main branch. Additionally, make sure to communicate any new changes to the rest of the team to ensure everyone is aware of any updates to the project.

Create GitHub workflow

There is currently no GitHub workflow for building, testing and deploying the project. A GitHub workflow can be created to automate these processes and ensure that they are done consistently and correctly. The workflow file can be created in .github/workflows directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.