/flashcards

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Flashcards

An interactive flashcard web application designed to facilitate effective learning and knowledge testing. Utilizing a spaced repetition algorithm, it enhances memory retention by adapting the presentation of flashcards based on user interactions. This application offers a personalized study tool, supporting various subjects and providing immediate feedback through multiple-choice questions.

Overview

The application's backend is built with Node.js/Express, utilizing MongoDB for data storage with Mongoose ORM for data modeling. The frontend employs EJS for templating, Bootstrap for responsive design, and vanilla JavaScript. It features a clean, minimalist design ensuring a seamless user experience across devices.

Features

  • Interactive Flashcards: Engage with multiple-choice questions and receive immediate feedback.
  • Spaced Repetition: Enhance memory retention through adaptive learning based on past interactions.
  • Performance Analytics: Track learning progress with dynamic charts and metrics.
  • Subject Matter Expansion: Administrators can create and manage flashcard sets across a range of topics.
  • User Accounts: Optional account creation for personalized tracking and analytics.
  • Responsive Design: Experience a consistent and intuitive interface on any device.

Getting Started

Requirements

  • Node.js
  • MongoDB
  • Modern web browser

Quickstart

  1. Clone the repository to your local machine.
  2. Install the dependencies with npm install.
  3. Create a .env file in the root directory based on the .env.example template.
  4. Start the server with npm start. The application will be accessible at http://localhost:3000.

License

Copyright (c) 2024.