Proposal: We will build a simple flashcard web app using Flask, aimed at incentivizing children in grades K-8 to remain engaged during remote learning. Students will be able to answer flashcard sets by making drawings or typing submissions. Teachers will be able to add new flash card sets to the system and set grade level and subject tags for a particular flashcard set. We are all relatively new in the program without a whole bunch of web development experience, so our primary goal is to work together to have something functional by the end.
This project originated as a submission idea for the Oregon State Winter 2020 Hackathon, but the authors continued to work on it beyond the time limits of the competition in order to further develop the functionality of the site.
The project is hosted live on Heroku at https://learn-with-flash.herokuapp.com/
Note: When loading the hosted Flash Learning website, please be patient as it takes several seconds for the Heroku server to spin up and load the site files.
- Flask: a Python framework for developing web applications.
- Bootstrap: a Python framework for responsive web styling.
- SQLAlchemy: a Python package containing a combination of an SQL toolkit and Object Relational Mapper.
Frontend has been built using CSS3 and HTML5. Backend has been built primarily with Python with some small scripts written in Javascript.
To get a local copy up and running follow these simple steps.
In order to make local changes to Flash Learning, you must first have Python and pip installed on your system. If you need assistance installing these prerequisites, see the folowing steps:
-
Python is a programming language. Almost all of this project's code base (particularly the backend) is written in Python. Download the latest version of Python and install onto your local machine.
-
Pip is the package installer for Python. Once Python is installed, open your local machine's command line and use the following command to utilize Python to install Pip:
python get-pip.py -g
Git is a version control system. In this project, Git is used to clone (copy) the most up-to-date project files from GitHub to your local machine. Download the latest version of git and install on your local machine.
-
Open the command line on your local machine.
-
Enter the following command to use Git to clone this repository to your local machine.
git clone https://https://github.com/team-penguin-hackathon/flash_learning.git
- Create a virtual environment called
env
within your local cloned repository.
virtualenv env
- Activate the
env
virtual environment.
env\Scripts\activate.bat
- Enter the following command to use Pip to install this repository's dependencies.
pip install -r requirements.txt
- To run a local copy of the website on your local execute the
run.py
file.
python run.py
- On your browser, navigate to
http://localhost:5000/
. This will update to saved changes in your local directory upon refresh. - Occasionally, some of the built-in resources (particularly the javascript scripts) of this project do not update when reloading changes made to files. To bypass these errors, reload the web page and bypass the cache. This can be done using the
Shift + left click Reload button
on Firefox or by entering developer mode on Google Chrome and selecting theEmpty Cache and Hard Reload
option.
To use Flash Learning, simply navigate to the site hosted on Heroku at https://learn-with-flash.herokuapp.com/
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Pull any recent upstream changes (
git pull upstream main
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Have a question about the project? Feel free to contact us.
- Mohamed Al-Hussein - [email protected]
- Tobi Fanibi - [email protected]
- Asa LeHolland - [email protected]
Project Link: https://github.com/team-penguin-hackathon/flash_learning
- othneildrew for creating the template README file that was used as the starting point for the README for this project.
- Mark Doughten for the initial idea and website concept for this project.
- We also found the Youtube playlists on Flask web app developement created by Corey Schafer and Tim Ruscicato be quite useful.