Skip to content

MrAnyx/Flashcard-API

Repository files navigation

Logo

Flashcard API

Create, manage and practice your flashcard with ease!
Explore the docs · Submit a request

GitHub Tag GitHub Repo stars GitHub contributors GitHub Issues or Pull Requests GitHub License

Note

This project is still in active development. It may change in the future.

About The Project

This project is the Symfony backend REST API for a flashcard platform.

I started this project because I couldn’t find a flashcard app that combined both a modern, visually appealing interface and effective functionality.

My goal was to create a good-looking flashcard app that provides a streamlined user experience.

Additionally, I wanted to deepen my understanding of the algorithms that drive flashcard-based learning, particularly those focused on optimizing review timing and content retention.

While I have always worked with Symfony for both frontend and backend, I wanted to expand into using a dedicated frontend framework like Nuxt to take advantage of Vue.js, which I really enjoy working with.

This project merges these goals by offering an intuitive platform that makes studying both efficient and enjoyable.

Built With

This project is entirely built using Symfony and its ecosystem like Doctrine. It also uses Docker and Devcontainer when developing.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the repository

    Start by forking the project repository on GitHub. This creates a copy of the project in your account where you can freely make changes.

  2. Clone the repository

    git clone https://github.com/<your-username>/Flashcard-API.git
  3. Create a new branch

    Use a descriptive branch name that reflects the purpose of your changes. For example:

    git checkout -b feature/new-feature
  4. Make changes

    Implement your changes. Make sure to follow coding standards and write clear, maintainable code. Add tests where appropriate, especially if your changes affect core functionality.

  5. Test your changes

    Ensure that your changes don’t break existing functionality by running the test suite:

    # Unit tests
    ./vendor/bin/pest
    
    # Static tests
    vendor/bin/phpstan analyse -c phpstan.neon --memory-limit 500M  --ansi --error-format=table
    
    # Code style
    ./vendor/bin/php-cs-fixer fix --dry-run
  6. Sync your changes

    Write clear and concise commit messages that describe what you’ve done. It must follow the Conventional Commit standard. Then, push your changes and open a pull request.

Code of Conduct

Please respect other contributors and maintainers by following our Code of Conduct. Contributions should align with the values of inclusivity, transparency, and respect for everyone involved in the project.

Need Help?

If you’re new to open-source contribution or have questions, feel free to open an issue or open a discussion thread. We’re happy to guide you through your first contribution!

Top contributors:

contrib.rocks image

License

Distributed under the AGPL-3.0 License. See License for more information.

Acknowledgments

This project wouldn’t be possible without the resources from the following individuals and communities:

Useful links

About

Backend REST API using Symfony for a flashcard web application 🃏

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published