LearnQuest is a full stack learning management system designed to make learning more fun and interacitve. A lot of learning management platforms are very dull such as Canvas which can make learning feel like a chore rather than exciting. Our application improves the learning experience through adding features such as progress bars, mini challenges, and a peer review functionality in order to help students stay motivated while providing them with the tools they need to succeed.
- Backend: Flask
- Database: SQLAlchemy
- Forms: WTForms and Flask-WTF
- Frontend: HTML and CSS
- Version Control: Git and GitHub
- Development Environment: PyCharm
Follow these steps to set up the project and run the Flask web application.
Navigate to the folder where you want to store the project and run:
git clone https://github.com/addisionschleigh/CMPE131-Project.git
cd CMPE131-ProjectCreate a Python virtual environment to keep dependencies isolated:
python3 -m venv .venv- macOS or Linux:
source .venv/bin/activate - Windows(Command Prompt):
After activation, your terminal should show (.venv).
.\.venv\Scripts\activate
Install all of the required packages from the requirements.txt:
pip install --upgrade pip
pip install -r requirements.txtrequirements.txt should include:
Flask==2.3.2
Flask-Login==0.6.3
Flask-WTF==1.1.1
Flask-SQLAlchemy==3.1.1
WTForms==3.1.2
SQLAlchemy==2.0.21
pytest==9.0.2
pytest-cov==7.0.0If your main app file is run.py:
python run.pyAlternatively, if you are using Flask's built-in runner:
export FLASK_APP=run.py # macOS/Linux
$env:FLASK_APP="run.py" # Windows PowerShell
set FLASK_APP=run.py # Windows Command Prompt
flask run- Open your browser and go to: http://127.0.0.1:5000
- The application should be running locally on your machine
- First, be sure to register (login page)
- Log in, choose a role (ideal to start with instructor role)
- Create course(s). These course(s) can also be deleted
- Go to course(s)
- Add assignments to course(s). These assignments can also be deleted
- Back at the dashboard, assignments should be seen
- Logout, then log back in as a student
- You should see the assignments and be able to submit them
- Submitted assignments should be seen on the dashboard and course page
Simply need to put pytest in the terminal or run them individually in their respective files.
- Used Visily AI for the UI sketches but I drew them by hand first
- [(https://www.visily.ai/)]
- Project Manager/UI Developer: Abdullah Ahmed
- Main Programmer: Addison Schleigh
- Software Engineer: Kenneth Lau