- A website where users can learn a foreign language using flashcards with their friends or alone.
- Users need to register their accounts, once login in, there are two modes:
- Frontend: HTML, CSS, JavaScript, Bootstraps
- Backend: Flask/Jinja, Python, SQLite for Database
- User Authentication: Allow users to create an account if they do not already have one. Login requires users to provide their username and password before they can have access to certain features or information of our website. And logout after they finish studying.
- Learn by using Flashcards: Allow users to learn a new language, including its vocabulary, grammar, and cultural knowledge using flashcards.
- Notes Creation: Allow users to add notes based on their needs.
- Take quiz: Allow users to take quizzes based on their desired language. The system tracks users' scores and dates of taking the quiz, and then displays them on a scoreboard.
- Scoreboard: Displays users' scores on quizzes. Users can view their own scores as well as the whole ranking scoreboard.
- Admin account: Allow administer to manage the website, including view/delete all user accounts, view/delete quiz questions, view/delete flashcards.
Make sure you have the latest version of Python installed
git clone <repo-url>
pip install -r docs/expert_users/requirements.txt
Database is pre-populated, if batabase doesn't have enought questions or flashcards, can re-populate database again.
Steps:
After building the product Running the app
python dev/main.py
Go to http://127.0.0.1:5000
Then you will be taken to our home page and you can start interacting with the product
Navigate to commit history https://github.com/StacyYang/Flashcards-to-learn-a-foreign-language/commits/main
Click on the commit id will see code changes
Click the <> button on the commit history page