Giter Club home page Giter Club logo

flashcards's Introduction

Flashcards Learning Platform

This is a flashcard-style learning platform developed using Django, Django Rest Framework, and Vue.js.

Features

1. User Registration and Authentication

Users can register for a new account, log in, and log out. User authentication is managed with Django's built-in user management.

2. Word Management

After logging in, users can add new words they want to learn, along with a definition. These words are then used to generate flashcards for review. Users can view all the words they have added in a tabular format, with the ability to delete any word.

3. Flashcard Review

Users can review the words they've added in a flashcard-style interface. A word is presented without its definition, and users can choose to reveal the definition.

4. Spaced Repetition Learning

The app employs a spaced repetition algorithm to enhance the user's learning. Words are sorted into different bins based on how well the user knows them. If the user recalls a word correctly, it moves to the next bin, indicating a longer time until it should be reviewed again. If the user fails to recall a word, it moves back to an earlier bin, ensuring it will be reviewed sooner.

If the user answers incorrectly 10 times, the card will not be shown again. Similarly, if the user answers a Card correctly enough times, it will also not be shown again.

Potential Improvements

  • Right now, everything is under the cards app, even registration and login views. Ideally these should be contained within a users app, or top level urls.
  • The User Words view is using bootstrap styled table. Would be nice to be able to search, filter, and order based on columns.
  • There is some duplication in the templates, could use some cleanup/consolidation.
  • Have a bulk word/definition creation tool for the user, so they don't have to create each word individually
  • Spruce up UI/UX

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You will need the following tools:

  • Python 3.8+
  • Django 3.2+
  • Django Rest Framework
  • Vue.js 2.0+

Installation

Clone the repository:

git clone https://github.com/brothaakhee/flashcards.git
cd flashcards

Install Python dependencies:

pip install -r requirements.txt

Run migrations:

python manage.py migrate

Run the development server:

python manage.py runserver

The application should now be accessible at http://localhost:8000/

Running Tests

To run the tests, execute:

pytest

Acknowledgments

  • Thanks to OpenAI for the GPT-4 model.

flashcards's People

Contributors

brothaakhee avatar

Watchers

 avatar

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.