Skip to content

Flashcard application built with HTML, CSS, and JavaScript. Features dynamic card creation, local storage integration, and responsive design. Includes key functionalities like adding, deleting, and toggling flashcards. The app leverages event listeners, DOM manipulation, and localStorage for persistent data handling.

Notifications You must be signed in to change notification settings

nrk018/flashcard-web-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Flashcard Application

Screenshot 2024-08-22 at 12 30 58 AM

Project Overview

The Flashcard Application is a web-based tool designed to help users create, store, and manage flashcards efficiently. Built using HTML, CSS, and JavaScript, this application provides a seamless experience for creating flashcards with questions and answers, enabling users to study and retain information interactively. The application incorporates essential features like dynamic card creation, local storage for data persistence, and a responsive design that ensures optimal usability across various devices.

Technical Specifications

HTML

  • Structure: The application's structure is crafted using semantic HTML5 elements, ensuring a clean and accessible layout. The <main> tag encapsulates the primary content areas, including sections for the header, card creation interface, and the flashcard display area.

  • Accessibility: By leveraging semantic tags, the HTML structure promotes better accessibility and SEO, making the application more user-friendly and discoverable by search engines.

CSS

  • Responsive Design: The application’s CSS is built with responsiveness in mind, utilizing media queries to adjust the layout based on the screen size. Breakpoints are set at 1280px, 768px, and 480px, ensuring that the interface remains functional and visually appealing on desktops, tablets, and mobile devices.

  • Layout and Styling: The layout is managed using flexbox, providing a flexible and consistent structure across different sections of the application. Visual enhancements such as box shadows are applied to elements like flashcards, creating a modern and polished appearance.

  • Typography: Custom fonts are imported from Google Fonts, contributing to the overall aesthetic appeal and readability of the application.

JavaScript

  • Event Handling: JavaScript is employed to manage the interactive aspects of the application. Event listeners are used extensively to handle user actions, such as creating new flashcards, deleting existing ones, and toggling the display of flashcard answers.

  • Local Storage Integration: One of the key features of this application is its use of localStorage for data persistence. Flashcards created by the user are stored locally in the browser, ensuring that the data remains available even after the browser is closed and reopened. This is achieved through the use of JSON methods to serialize and deserialize the data.

  • Dynamic DOM Manipulation: The application dynamically generates and updates flashcards based on user interactions. JavaScript functions are used to create new DOM elements for each flashcard, allowing for real-time updates to the user interface as flashcards are added or removed.

New Learnings

  • Local Storage Management: This project provided valuable experience in utilizing localStorage for persistent data storage. Understanding how to effectively store, retrieve, and manipulate data in localStorage was a key takeaway.

  • Dynamic DOM Manipulation: Building this application enhanced proficiency in dynamically interacting with the DOM. Creating, modifying, and removing elements on the fly based on user input was a significant learning experience.

  • Responsive Design Techniques: The project reinforced knowledge of responsive web design, particularly the use of media queries to ensure that the application functions well on devices with varying screen sizes. This skill is essential for creating modern web applications that offer a consistent user experience across different platforms.

About

Flashcard application built with HTML, CSS, and JavaScript. Features dynamic card creation, local storage integration, and responsive design. Includes key functionalities like adding, deleting, and toggling flashcards. The app leverages event listeners, DOM manipulation, and localStorage for persistent data handling.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published