Skip to content

jvadair/HashCards

Repository files navigation

HashCards banner

Flashcards, sans flashy.

Table of Contents

About

HashCards is an online flashcard platform without the ads, paywalls, or outdated user interface. It was created to address some of the major issues with online flashcard services today.

Features

  • Create and share sets
  • Add images to cards
  • Autosave
  • Import from other platforms
  • Study mode
  • Intuitive math typing (like Desmos)
  • Search & Explore
  • OAuth and traditional verified-email login options
  • Account management & privacy features
  • Export sets
  • Pin sets
  • Recent sets
  • User experience and leveling system

FAQs

Why use HashCards when I can just keep using other platforms?

A: HashCards strives to be the best platform for creating flash cards and studying them by providing a clean, user-friendly, and minimalistic (yet full-featured) interface. It is also the best platform for math flashcards due to its unique math equation capabilities. We don't trick our users by paywalling or limiting existing features. We believe in the potential of open development. Using HashCards should be frictionless and non-distracting. If it's not, make sure to let me know!

How can I make a HashCards set?

A: It's easy! Just sign up for an account here, then clcik "New". From there, the editor is quite user-friendly and will automatically save your work as you go.

What about my data? Can I import and export?

A: HashCards supports importing sets from other sites such as Quizlet. You can also export HashCards sets individually, and request a copy of all of your data.

Can I use HashCards' code or parts of it for my own purposes?

Currently, HashCards is not licensed. Therefore, the code falls under "All rights reserved", meaning that you cannot make copies/distribute it. However, I plan to add a license in the future. The reason there is no license yet is because I do not want another entity to be able to commercialize HashCards, and I have not found a license that aligns with this yet.

Support and Feedback

If you would like to make a feature request or need help, create an issue here on GitHub or shoot me an email at [email protected].

Contributing

HashCards welcomes new contributors. To get started, fork the repository, make some changes, and submit a pull request. I will manually review all pull requests; I do not guarantee approval of any specific pull request (though I will likely provide an explanation if initially rejected!). If you have any questions, please feel free to contact me.

Tech stack

Here's a list of the technology/libraries HashCards uses. Please let me know if it neglects to mention a library used in the project.

  1. pyntree
  2. registrationAPI
  3. Flask
  4. Flask-SocketIO
  5. SocketIO
  6. jQuery
  7. Authlib
  8. APScheduler
  9. TheFuzz
  10. cryptography
  11. flask-sitemapper
  12. pathvalidate
  13. MathQuill
  14. QRCode.js
  15. short_url

Self-hosting

HashCards was not designed to be self-hosted. If you are looking to self-host a copy of HashCards, please feel free to reach out to me.


© James Adair 2023.


Licensed under the Apache License, Version 2.0 (the "License"); you may not use this repository except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.