A full-stack web application for creating and studying flashcards, built with Flask and JavaScript.
- Create, edit, and delete flashcards
- Organize flashcards by categories
- Set difficulty levels for each flashcard
- Study mode with card flipping animation
- Track review history
- Filter flashcards by category
- Responsive design for desktop and mobile
- Backend: Flask with SQLAlchemy
- Frontend: HTML, CSS, JavaScript
- Database: MySQLLite
- Clone the repository
- Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate - Install dependencies:
pip install -r requirements.txt - Run the application:
python -m src.main - Access the application at http://localhost:5000
- Click the "New Card" button in the header
- Fill in the question and answer fields
- Optionally add a category and select difficulty
- Click "Save" to create the flashcard
- Click the "Study Mode" button in the header
- Navigate through cards using "Previous" and "Next" buttons
- Click on a card to flip between question and answer
- Rate cards as Easy, Medium, or Hard to track progress
- Click the edit icon on a card to modify its content
- Click the delete icon to remove a card
- Use the category filter dropdown to view specific categories
src/- Main application directorymodels/- Database modelsroutes/- API endpointsstatic/- Frontend assetscss/- Stylesheetsjs/- JavaScript filesindex.html- Main HTML entry point
main.py- Application entry point
requirements.txt- Python dependencies
GET /api/flashcards- Get all flashcards or filter by categoryGET /api/flashcards/<id>- Get a specific flashcardPOST /api/flashcards- Create a new flashcardPUT /api/flashcards/<id>- Update an existing flashcardDELETE /api/flashcards/<id>- Delete a flashcardPOST /api/flashcards/<id>/review- Mark a flashcard as reviewed





