This application helps instructors transform their courses/lectures so that these can be taught in online environments.
- To install the packages needed for the application to run, please refer to
requeriments.txt - Create
json5representations of both the building blocks and teaching tools/ideas. - Store these files (generated in step 2) in
data/categoriesanddata/ideasdirectory respectively. - Execute
python manage.py read_data --save_categoryandpython manage.py read_data --save_ideato store the information into the database.
- tbcore: handles the core functionality of the website and contains the database models used throughout the project.
- plan: here one can find the code that allows the users to create, update, read and delete course plans.
These are the models implemented throughout the development of the project:
- Category: Every instance (data point) contains information about a single building block (e.g., category_name, short_description etc.)
- OnlineIdea: Every instance (data point) contains information about a single teaching tool (e.g., idea_name, implementation_steps etc. )
- Plan: used to store information about user's course plans.
- PlanCategoryOnlineIdea: establishes ForeignKey relationships to the
Category,OnlineIdeaandPlanmodels. It also used to manage the user's notes.
The content of this website can be easily modified by making changes to the json5 files found in the data directory.
Take these into consideration when making changes:
- The content is written in Markdown.
- Execute
python manage.py read_data --save_categoryorpython manage.py read_data --save_ideato save changes to the database.
The supporting documents and images used throughout the json5 files are stored in the tbcore/static directory:
- support_documents: this directory contains supporting documents (e.g.,
pdffiles). - images: this directory contains the images used in the
jsonfiles.
- Make changes to the files stored in the
support_documentsorimagesdirectory. - Update the
jsonfiles with the new information.- For example, to add the image
human_touch.png, you can use the following code snippet (style it as desired):<img src=\"/static/tbcore/images/human_touch.png\" alt=\"Human Touch\" width=\"40%\" height=\"50%\" class=\"rounded mx-auto d-block\">" - To add a support document called
How_to_add_task_plugIn_to_Stud.Ip_course.pdf, you can use the following code snippet (style it as desired):<a href="/static/tbcore/support_documents/How_to_add_task_plugIn_to_Stud.Ip_course.pdf" target="_blank">Tasks (reflection) Plug-In</a> - Execute
python manage.py read_data --save_category;python manage.py read_data --save_ideaandpython manage.py populate_dbto save changes to the database.
- For example, to add the image
You can develop or deploy this application using Docker.
- Create a
.env.devfile fromenv.dev-examplecp .env.dev-example .env.dev - Start the ToolBox
docker compose -f docker-compose.yml up - To access the Toolbox visit
http://localhost:8000/
-
Modify
nginx/nginx.confaccording to your specific case. -
Create a
.env.prodfile fromenv.prod-example. Modify the values of.env.prodaccording to your specific case.cp .env.dev-example .env.prod -
Start the ToolBox
docker compose -f docker-compose.prod.yml up